class Parent{
int a=55;
public Parent(){
function();
}
public void function(){
System.out.println("parent's function");
}
}
class Child extends Parent{
int a=15
public static void main(String[] args){
parent p=new Child();
System.out.println(p.a);
System.out.println(p.funtion());
}
public void function(){
System.out.println("child's function");
}
}
输出结果是 child's function
55
child's function
希望高手来给我解释下 是如何得到这个结果的
如果子类自己没有构造方法,则它将继承父类的无参数构造方法作为自己的构造方法;
Parent p=new Child();这样说的话,因为我没有自己的构造方法,所以子类也就是把父类的构造函数复制到了自己类里面,所以第一句可以解释了,那么第二句怎么解释啊
楼主不厚道
参考资料:编程吧—IT社区 28mike
我觉得你比我的满意答案还要好啊,满意答案只能勉强解释 因为我这个child类,没有自己的构造方法,所以是将父类的构造方法继承了直接当做自己的构造方法,多以new 的就是父类的对象所以能够解释啊,我重新写了下子类的构造方法,加入了参数,结果依然没变,可是我这这时就new 的是子类了,解释不通啊
追答呵呵。。构造方法是不能继承的哦,亲
JAVA中 子类与父类构造方法的关系 个人理解
一、父类含有无参构造函数 1、子类没有构造方法或者含有无参的构造方法:这种情况,都会默认地调用super()2、子类含有有参数构造方法:同样会在首句默认调用super() \/\/其实跟情况1类似 二、父类含有含参数的构造方法,不含无参数的构造方法:子类没得选择:子类必须申明一个构造方法(且含super...
java中为什么说子类对象即是父类对象?求详解!!!
首先,子类继承自父类,可以继承父类除私有成员以外的所有成员,本身具有父类的一切性质。就如:学生类继承自人类。按实际情况来说,学生属于人,具有人所具有的一切特征。所以可以说:学生是人。再者,子类对象即使父类对象。体现了java中多态的特性。多态,是面向对象的程序设计语言最核心的特征。多态,...
JAVA 对象类型转换---子类转换父类
首先你要理解在Java里面子类与父类的关系。 子类继承父类,它可以继承到父类的非私有成员变量,以及方法。 也就是说这个子类的对象完全可以当作父类的对象来用,因为它拥有所有父类的方法,和成员 所以,在Java里面,父类的引用可以指向子类对象。 1.A a = b;因为b是B类的对象,B类继承自A类,所...
在java 中,什么叫父类,什么叫子类
父类和子类,就例如:老子和儿子,有着父子关系。而这里指的父子关系,其实也就是一种包含关系。打个比方,在我们现实生活中,学生Student是一个很大的概念,而U_Student大学生是属于学生中的一种,这里的学生即为父类,大学生即为子类。父类和子类区别在哪?学生和大学生都会有学习Study这个方法,但是...
JAVA父类调用子类方法
main方法中是可以的,父类是不能调用子类 的方法的。跟你说底层实现你也不懂,从面向对象上来说吧。父类先于子类存在,子类从父类中生出来,所以子类知道父类,可以调用父类方法。但父类不知道子类,子类可以任意的出生,只要你愿意,所以父类无法调用子类,他不知他会有这样的子类,也不知有多少个...
Java中的子类会继承父类的所有成员吗
1、关于私有成员变量 无论父类中的成员变量是私有的、共有的、还是其它类型的,子类都会拥有父类中的这些成员变量。但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protected、public方法(如getter、setter方法)来访问。2、关于静态成员变量 无论父类中的成员变量是静态的...
java中为什么是先有父类后有子类呢?请高手详细地解释下原因
因为被继承后才能被称为父类,就比如你说你有了儿子才能说你是父亲了。。在内存中,因为子类拥有所有父类非private的方法和属性,所以会先产生一个父类对象。
父类实例与子类实例的关系
那么对你的问题中,既然是父类和子类,首先从文字意义上就知道他们存在着父子关系,这和现实中一样,父子必有共性,在java中用extends关键字来标识这种关系,extends是扩展的意思。从这里我们不难看出一点:子类拥有比父类共强大的功能,或者更多的属性。就是说子类对父类进行了扩展,并且父类能做的事...
java关于子类和父类构造方法的关系,犯迷糊!!
3、父类中显示定义了构造方法,却没有显示定义默认的无参数构造方法,那么子类定义任何构造方法中都需要通过super调用父类的构造方法 相关代码比较 1.public class Father {public void otherMethod(){}} public class Child extends Father { \/\/任意构造方法public Child(int b){System.out.println(b)...
下列说法中,( )是正确的。
【答案】:B B。【解析】本题考查对子类与父类关系的理解。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,子类方法不能产生比父类更多的...