java子类调用父类方法
① java子类如何调用父类变量和方法
其过程是先给子类的属性,i分配存储空间,并赋默认值0,执行父类构造方法, 里面有个test(),这个方法被子类覆写了,所以实际执行的是子类的test()方法。会输出i,这时i=0,所以输出0。然后给属性i赋值10。 在给属性i赋值的前 加载了父类 然后就有了后面的0
② java中子类继承父类,子类声明并实例化对象,这个对象怎么调用父类方法的 如图 详细一点谢谢
//子类 没有定义 构造 函数时,默认继承父类的构造方法:输出结果为 Class A...
// 子类 定义了 构造 函数时,就不会继承父类的构造方法:输出结果是 Class B...
<?php
class A{
public function __construct(){
echo "Class A...<br/>";
}
}
class B extends A{
}
new B();
?>
/*输出结果是:Class A...*/
③ java中子类调用祖父类(父类的父类)的方法
1、如果是多态,只能通过super的方式调用基类方法,具体决定于父类是否覆盖了父类的父类方法,如果父类的方法覆盖了父类的父类,则super无法调用到父类的父类方法。如果父类的方法没有覆盖父类的父类,则super可以调用到父类的父类方法。
publicclassA{//定义类A
publicvoidshow(){
}
}
publicclassBextendsA{//定义子类B,继承类A
publicvoidshow(){
super.show();//调用父类A的方法show
}
}
2、如果不是多态,则可以直接访问方法名就能够访问到父类的父类方法
publicclassA{//定义类A
publicvoidshow(){
}
}
publicclassBextendsA{//定义子类B,继承类A
publicvoidme(){
show();//调用的是父类A中定义的show方法
}
}
④ Java子类调用父类方法的问题
main方法中是可以的,父类是不能调用子类
的方法的。跟你说底层实现你也不懂,从面向对象上来说吧。
父类先于子类存在,子类从父类中生出来,所以子类知道父类,可以调用父类方法。但父类不知道子类,子类可以任意的出生,只要你愿意,所以父类无法调用子类,他不知他会有这样的子类,也不知有多少个子类,但子类的父类是唯一的。
简单点就是在java中父类是不能调用子类的方法的。