java的一些关于类的继承问题,如下求高手指教
发布网友
发布时间:2022-05-24 07:19
我来回答
共4个回答
热心网友
时间:2023-10-08 17:38
经验证分别 输出11和110 并不是你说的都是11
都是98.0是因为,两次的计算其实都是调用B的f方法,尽管向上引用为A,java在真正执行的时候会动态的获取真正的对象,所以两次都是98.0
只属于为什么是9,因为静态方法是通过类名调用的,也就是说方法属于类而不是对象,所以
A a=new B() 的时候 a.g(3) 其实是调用了A.g(3),
如果你使用B.g(3) 那么就会输出12
热心网友
时间:2023-10-08 17:38
你的结果有一个错误,
a=new B(); System.out.println(a.getNumber(10)); } //代码2 为什么结果还是11 ??
这里结果应该是110,调用的是B的getNumber的方法
类E中
System.out.println(a.g(3)); //结果怎么是9 怎么调用的
方法g是static的,静态方法属于类不属于对象,所以a.g(3)=A.g(3),而b.g(3)=B.g(3),所以两次调用的结果不同
热心网友
时间:2023-10-08 17:39
你的疑问应该在於这里
System.out.println(a.f(10.0,8.0)); //为什么结果还是98.0
你可以看看他的指向
先指向B.class f 然後再指向A.class f
所以是 10.0 +8.0 =18.0
然後回到 B.class
m=18.0 看看回传 m+x*y
也就是 18+10.0*8.0
这样当然是 98.0 =="
再来看这个
System.out.println(a.g(3)); //结果怎么是9 怎么调用的
先指向B.class g 然後在指向 A.class g
所以是 3*3 =9
然後回到B.class
因为这里的B.class g 方法被复写掉所以就跳过回传直接使用A.class g
热心网友
时间:2023-10-08 17:39
扯淡 第一个的第二个明明就是110 动态绑定 自己百度下 父类引用指向子类对象,可见性是按照声明的时候来的 调用的时候如果有重写就是掉子类的方法
java初学提问 关于执行过程 和继承的一些问题,请各位大虾帮忙 谢谢_百度...
1.首先,你的main方法是写在Demo类里的,当运行这个main方法时,执行A a = new A()时;需要new一个A类的对象,在new出这个对象之前,JVM会在堆中装载A类,这时候,会初始化A类的所有静态成员,所以static会被执行一次,然后执行new A()。不过,所有静态成员都只会初始化一次。(静态成...
求教个关于java继承的问题
A,实现类的子类向上转型,没问题;B,Beta是Delta父类,父类转成子类,是向下转型,出问题;C,同A一样,向上转型;D,子类向父类转,向上转型;一、向上转型与向下转型。对象类型的转换在Java语言平台中经常遇到,主要包 括向上转型与向下转型操作。程序开发人员需要熟练掌握这两个转型的方法以及其中...
关于java单继承问题
1、Java中一个类不能继承多个具体class。2、一个类只可继承自一个具体 class,但可实现多个接口。interface不涉及到实现细节,不与任何存储空间有关连。可以实现合并多个 interface ,达到可向上转型为多种基类的目的。新类可继承自一个具象class,其余继承都得是interfaces。3、outer class不可继承自多个...
java继承问题
3)对于子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即子类的成员方法会覆盖掉父类的同名成员方法。如果要在子类中访问父类中同名成员方法,需要使用super关键字来进行引用。3)对于子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即...
java 关於继承的问题
B继承自A,AB有父子关系,你可以这样类似地想:A是汽车,B是客车。A c=new B();这句代码可以这样理解:创建一个“客车”类的实例对象,但是把它作为“汽车”类去使用。这是没有问题的,客车也是汽车的一种,它继承自汽车类,汽车类的轮子、发动机等等基本属性客车类都有。汽车能干的事情,客车一定...
java中代码块能被继承么
关于JAVA的继承问题:1,在Java中,只要是被定义为final的类,也可以说是被final修饰的类,就是不能被继承的;2,final是java中的一个关键字,可以用来修饰变量、方法和类,用关键词final修饰的域称为最终域。3,用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量;如果一个类...
java继承和接口的2个问题
第一题 A 错。java中的类没有多继承的概念,不可能有多个直接父类。只有接口才支持多继承。B 对。C 对。D 对。所以答案选A。第二题 A 错。接口中只有抽象方法,不可能有普通方法。B 错。接口中的成员变量默认的都是静态常量(static final)。所以不可以修改。C对。接口可以继承接口,而且一个...
JAVA抽象类、接口继承的疑惑
c类继承接口a,他可以获得a里面所有的抽象方法,常量属性,内部类,枚举等等。d继承b同时实现c,就是吧上面两个情况综合一下,如果b实现a的某方法,那么d中调用的就是b实现的这个,如果b中没实现a的方法,d中也可以访问a的这个方法。所以d可以实现a的方法,也可以有b里的新方法。我说的不太明白,...
在JAVA学习时,碰到一个继承上的问题
bb.test()调用的是父类的test()方法,因此打印父类的属性.如果你子类重写一个test()方法,那么此时打印的就是lisi了.这个this不是你运行时候的指向,是你编译时候的指向.编译时候指的是父类,那么就都是指的父类,不会因为你new子类的对象而去指向子类....
Java继承(extends)简明教程
public class Student extends Person{} Java的继承通过extends关键字实现,extends的英文意思是扩展,而不是继承。extends很好地体现了子类和父类的关系,即子类是对父类的扩展,子类是一种特殊的父类。从这个角度看,使用继承来描述子类和父类的关系是错误的,用扩展更恰当。为什么国内把extends翻译为“...