1.java中的字符是用什么编码?
2.Integer.MAX_VALUE,能正确表示一个整型常量么(就是判断题:能正确表示java的一个整型常量的一个选项)
3.java中的逻辑变量可以和整形变量相互强制转换么,字符型呢?为什么
4.子类的对象能直接向其父类对象赋值吗 反之呢 子类对象一定是父类的对象吗
5.最终方法能被继承么?为什么
2.Integer.MAX_VALUE,能正确表示一个整型常量么(就是判断题:能正确表示java的一个整型常量的一个选项)
3.java中的逻辑变量可以和整形变量相互强制转换么,字符型呢?为什么
4.子类的对象能直接向其父类对象赋值吗 反之呢 子类对象一定是父类的对象吗
5.最终方法能被继承么?为什么
public class A
{
int x=10;
int getA(){return x;}
}
class B extends A
{
int x=100;
int getB(){return x;}
}
b是B的对象,b.getA()返回什么啊
2.能
3.不,不,Java中逻辑变量只有true和false2个值
4.可以,反之不行,是
5.可以被继承,但不能被重写
public class InheritTest1
{
public static void main (String[] args)
{
A aa; B bb;
aa=new A( ); bb=new B( );
aa.show( ); bb.show();
}
}
class A
{
int a=1;
double d=2.0;
void show( )
{ System.out.println("Class A: "+"\ta="+a +"\td="+d); }
}
class B extends A
{
float a=3.0f;
String d="Java program.";
int b=4;
void show( )
{
System.out.println("Class A: "+"\ta="+super.a +"\td="+super.d);
super.show( );
System.out.println("Class B: "+"\ta="+a +"\td="+d+"\tb="+b);
}
}--------------------Configuration: <Default>--------------------
Class A: a=1 d=2.0
Class A: a=1 d=2.0
Class A: a=1 d=2.0
Class B: a=3.0 d=Java program. b=4Process completed.
我这个运行输出上面的,怎么会有三个Class A:
但是第三行是哪来的呢
有三个Class A,涉及到创建子类对象时构造器的调用顺序问题
创建子类对象时,先调用父类的构造方法!虽然在此代码中只有默认的构造方法
第一个Class A: a=1 d=2.0
是因为aa.show( );
第二个Class A: a=1 d=2.0
是因为 bb.show();
第三个Class A: a=1 d=2.0
是因为super.show( ); 就是调用了父类的show()方法
1.Java支持unicode字符集,所以,通常情况下,它的字节码文件(.class)应该是unicode的编码,但它的源文件(.java)就不一定了,可以是unicode编码,也可以是其他当前操作系统默认或支持的编码。
2.这个问题问得很怪,让我开始怀疑自己了。我的答案是Integer.MAX_VALUE能正确表示一个整型常量(换句话说:我的判断是正确)
3.Java中的逻辑变量是不可以和整形变量相互强制转换的,而字符型是可以的。因为Java规范就是这么规定的,至于为什么要这样规定我就不多说了,请Google。
4.这个问题也很奇怪,“能直接向其父类对象赋值”?不太清楚是啥意思。“子类对象一定是父类对象吗?”也问得很诡异,因为缺少上下文,不知道应该怎么回答(你最好去问出题人,因为我没有相关背景)
5.最终方法能被继承,但不能被重写。因为Java规范就是这么规定的,至于为什么要这么规定我就不多说了,请Google。
6楼已经回答了,不再多说。
创建子类对象,会调用父类的方法show么