首页 > 试题广场 >

下列代码的输出结果是:public class A {

[单选题]
下列代码的输出结果是:
public class A {
String name="a";
String go(){
return "- function in A";
}
}
public class B extends A {
String name="b";
String go(){
return "- function in B";
}
public static void main(String[] args) {
A a= new B();
System.out.println(a.name+a.go());
}
}
  • a - function in A
  • a - function in B
  • b - function in A
  • b - function in B
1、属性不存在重写,只有方法(非私有方法、非静态方法、非final方法) 才存在重写,才能发生多态;
2、向上转型
发表于 2018-08-18 09:37:41 回复(0)
更多回答
属性是编译,方法是运行。编译看左,运行看右。
编辑于 2019-07-29 16:39:16 回复(0)
属性不存在重写,只有方法才存在重写
发表于 2018-08-29 21:05:32 回复(0)
直接访问属性,那看到的还是父类属性,但是如果通过get获取,就是运行方法了,运行的是子类的方法
发表于 2023-07-14 14:05:34 回复(0)
属性不重写 方法才重写
发表于 2021-11-02 09:45:37 回复(0)
属性不存在重写 a.name访问的是属性,不会进行重写,也就不会存在多态 a.go()是已经重写的方法
发表于 2021-03-12 18:01:00 回复(0)