您的位置:首页 > 编程语言 > Java开发

Java入门习题(三)——初始化

2016-05-15 00:25 465 查看

Java入门习题

Java入门习题
初始化部分

1请写出下列程序的运行结果

2请写出下列程序的运行结果

3请写出下列程序的运行结果

初始化部分

1,请写出下列程序的运行结果

class Father{
Father(){
System.out.println("father");
}
}
class Son extends Father{
Son(){
System.out.println("son");
}
public static void main(String [] args){
new Son();
new Father();
}
}


参考答案:

father
son
father


解析

子类的构造方法会默认在第一句增加super()方法,如果指定其他带参数的super方法则不执行默认方法


2,请写出下列程序的运行结果

class Father{
int i=0;
public Father(String arg){
System.out.println(arg);
i=1;
}
public Father(){
System.out.println("B");
i=2;
}
}
class Son extends Father{
public Son(String arg){
System.out.println("C");
i=3;
}
public static void main(String [] args){
int i=4;
Father f=new Son("A");
System.out.println(f.i);
}
}


参考答案:

B
C
5


解析

因为没有指定调用父类的哪一个构造方法,所以编译器默认增加空参数的super()方法


3,请写出下列程序的运行结果

class Father{
int i=0;
public Father(String s){
i=1;
}
}
class Son extends Father{
public Son(String s){
i=2;
}
public static void main(String [] args){
Son son=new Son("hello world");
System.out.println(son.i);
}
}


参考答案:

编译失败


解析

子类没有指定调用父类的构造方法,默认为调用空参构造方法,但是父类没有提供空惨构造方法。
解决方案:在父类中添加一个空参的构造方法,或者是在子类中显示的指明有参的构造方法。


Java入门习题
初始化部分

1请写出下列程序的运行结果

2请写出下列程序的运行结果

3请写出下列程序的运行结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息