摘要:
代码中我们让B继承了A,并且B中和A中一样有相同变量str和get方法 然后我们执行: A a = new B();System.out.println(a.str);a.get(); 最终输出: 可以看出,我们用一个A类型的变量指向B类型的实例时,如果调用变量,则会根据变量的类型来决定是调用父类还 阅读全文
摘要:
java中的null值是可以强制转换为任何java类型的,就像(String)null是合法的,但null强转后的是无效对象,其返回值还是为null,但是例如下面这种情况 输出为 原因是static方法的调用是和类名绑定的,不借助对象进行访问,所以能够正确输出,如果没有加上static修饰,就会报空 阅读全文
摘要:
刚看到的一道面试题 输出结果是 解析: 当new Z();的时候,因为Z继承自X,所以会先构造X,进入X类先初始化全局变量,所以运行Y b = new Y();,调用Y的构造函数输出“Y”, 然后执行X的构造函数,输出“X”,构造完X后,会构造Y,先初始化Z的全局变量,执行Y y = new Y() 阅读全文