“We are all born for love. It is the principle of existence, and its only end. ”
—— Benjamin Disraeli
“我们都是为爱而生的。它是存在的原则,也是唯一的目的。我们都是为爱而生的。它是存在的原则,也是唯一的目的。”
——本杰明·迪斯雷利
“ Love is the greatest refreshment in life. ”
—— Pablo Picasso
2019.07.19问题及解析
public class Father {
private String name = "father";
public Father(){
printName();
}
public void printName(){
System.out.println(name);
}
static class Son extends Father{
private String name = "son";
public void printName(){
System.out.println(name);
}
}
public static void main(String[] args) {
Father father = new Son();
}
}
请问上述程序的结果为?
A.null
B.father
C.son
D.编译错误
当声明父类对象,new子类实例时,会首先创建父类对象之后才会创建子类对象。
首先创建Father对象,调用Father构造方法
调用printName()方法,子类中有此方法因此会调用子类的该方法
但此时子类属性还未加载
因此打印name时没有实际值,输出null
答案选A。
类——实例、值传递变化
public class Test {
public static void main(String[] args) {
Test test = new Test();
test.start();
}
void start(){
Value value1 = new Value();
System.out.print(value1.b + " ");
Value value2 = change(value1);
System.out.print(value1.b + " " + value2.b);
}
Value change(Value value){
value.b = 1;
return value;
}
}
class Value{
Byte b;
}
上述代码的输出结果为?
A.null nulll 1
B.null 1 1
C.0 0 1
D.0 1 1
重磅推荐
以我手写我心,有位伟人说过,
整理记录是最高效的学习方法。
在这里即可一展所学,
不仅可以与同辈交流
还可与前辈过招
技术君在这里等你哦~
这里有技术大佬们在线答疑,
这里有一大堆的编程资料,
这里有志同道合共赴编程的小伙伴。
(加微信拉你进群)
投稿要求如下:
知识点整理并写成文章。
要求段落结构清晰,
字数须大于500字,
报酬信息请联系小刀
联系方式:
邮箱:lixiang9409@vip.qq.com
微信号:best396975802