经典面试题(1)
来源:互联网 发布:游戏服装设计软件 编辑:程序博客网 时间:2024/06/15 09:05
请给出以下程序段中Test类的输出答案:public class A {public A(){init();}protected void init(){}public void print(){System.out.println("2");}}public class B extends A {private String b1=null;protected void init(){this.b1="0";print();}public void print(){System.out.println(b1);}}public class Test {public static void main(String[] args) {A a=new B();a.print();}}答案:0null说明:
A a =new B();当这句代码执行的时候,会先调用父类A的构造函数,在A类的构造方法中调用init()方法,此时发现子类重写了init()方法,所以直接调用子类的init()方法,调用子类init()方法时,b1赋值为"0",所以打印了0,此时父类A对象构造完毕,然后开始构造子类B对象,先对字段b1赋值为null,再调用子类无参的构造函数。至此,A a =new B();执行完毕,所以b1的值为null。
阅读全文
3 0
- 经典面试题(1)
- 经典面试题(*****)
- java经典算法面试题(1)
- sql经典面试题(1)
- 经典软件面试题(1)
- java经典面试题(1)
- 微软面试题(1) 经典测试
- android经典面试题(1)
- 经典java面试题(1)
- tx经典面试题1
- 经典嵌入式面试题1
- DBA 经典面试题(1)
- C++经典面试题(1)
- java面试题经典1
- 前端经典面试题1
- 上海贝尔面试题(经典)
- @经典面试题(一)@
- @经典面试题(二)@
- Centos7下yum安装MySQL5.7
- 面试题5————sql优化
- 简单自定义Toast,实现好看的消息提示框
- 华为2016机试
- 网络编程之TCP协议学习
- 经典面试题(1)
- yii2框架实现引导安装功能
- 机器人技术(5)AtdRobot无线手柄控制教程
- java数组用到的java类库中的方法
- oracle多个实例创建
- chromium源代码结构
- Linux下安装tar.gz类型的jdk,并配置环境变量
- 安全测试
- 浏览器访问solr报错:HTTP Status 500