Java继承关系构造函数的调用
来源:互联网 发布:800002711零点网络 编辑:程序博客网 时间:2024/05/16 19:09
Java中的对象封装是面向对象编程思想的完美体现,但在Java的类继承关系中,各父类和子类之间的关系到底是怎样的呢?
本文就Java基础中父类及子类的构造方法参数传递讨论其关系。 若有这样的关系:爷爷、父亲及儿子,父亲继承自爷爷,儿子继承自父亲,代码如下:
创建爷爷类:
public class Grandpa {
private String name;
public Grandpa(String name){
this.name=name;
System.out.println("my name is "+name);
}
public void mySelf(){
System.out.println(name);
}
}
创建继承自爷爷类的父亲类:
public class Father extends Grandpa {
public Father(String name){
super(name);
}
}
创建继承自父亲的儿子类:
public class Son extends Father{
public Son(String name){
super(name);
}
}
在执行类的主函数中实例化这三个类,并调用爷爷类中的mySelf()方法
public class Test {
public static void main(String[] args) {
Son son=new Son("abc");
Father father=new Father("def");
Grandpa grandpa=new Grandpa("123");
son.mySelf();
father.mySelf();
grandPa.mySelf();
}
}
执行结果为:
abc
def
123
在实例化Son类是其构造函数传入的参数name在实例化的过程中实质上所传递的路线为下图所示:
super是对父类进行调用,在son的构造函数中使用super()实际上是直接调用了父类的构造函数(即Father类),同样Father类的构造函数使用super()调用了它的父类GrandPa类的构造函数,所以在Son(String name)这个构造函数中所传入的参数传入到函数中的super(name)中,从而传入到父类Father的构造函数中,在传入到GrandPa中,最终使用了Son(String name)这个构造函数中的参数完成了对最终父类构造函数的调用,同样Father类也是如此。
- Java继承关系构造函数的调用
- Java中继承关系的构造函数的调用顺序
- Java继承时构造函数的关系
- Java继承时构造函数的调用
- Java继承时构造函数的调用
- Java继承时构造函数的调用
- java继承的构造函数调用顺序
- java继承中构造函数的调用
- C++继承关系中构造函数的调用顺序
- 继承关系中的构造函数调用
- 构造函数的继承关系
- Java继承关系下的构造方法调用
- java的继承关系中,构造方法调用问题
- 继承关系中构造方法的调用
- 【转】Java继承时构造函数的调用
- java中继承父类后构造函数的调用
- java关于继承中构造函数的调用顺序
- c++ 继承关系的构造函数
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- 几种计算机求解Fibonacci number的方法
- HttpClient使用详解
- 新Hibernate SessionFactory().getCurrentSession()猫腻
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- Java继承关系构造函数的调用
- java中hashcode()函数的作用
- 作业4.18
- 进程地址空间映射
- 开启gd2的方法
- Time Zone
- View的点击效果-水波纹
- 渗透测试元数据搜集之Metagoofil
- 导入hadoop源码到eclipse