您的位置:首页 > 其它

面向对象-简单的(子父类构造函数的特点)-子类实例化过程

2017-11-24 15:13 344 查看
子类的实例化过程
子类的所有的构造函数,默认都会有访问父类空参数的构造函数,因为子类每一个构造函数内的第一行都有一句话隐式

的语句 super();

当父类中没有空参数的构造,子类必须要自己手动通过 super语句的形式来指定要访问父类的构造函数

当然子类的构造函数的第一行也可以手动指定 this关键字 语句来访问本类中的构造函数。

看以下例子:

public class X {

    

public static void main(String[] args){

    

         zi Z=new zi();//创建zi类对象

    }

}

class fu{

        private String  name;//加了私有化 不能访问了

        int Age;

        int height;

public fu (int Age,int height){ //有参数的构造函数

    

     System.out.println("父类");

     System.out.println("年龄"+Age);

     System.out.println("身高"+height+"米");

        }

        

     }

    class zi extends fu { //子类继承父类

     public zi(){ //构造函数

    super(18,170);//手动添加 访问父类的构造函数

    //super();这里是隐式的!

    System.out.println("子类");

         }

    }

/*

输出结果是:

父类

年龄18

身高170米

子类

为什么 创建子类对象为什么一定要访问父类的构造函数?

因为:在构造函数的第一行有一条隐式的 super();语句。

也可以手动的添加 super()访问父类的构造函数。

其实吧!这是子类对象实例的初始过程 ,她会看这父类是怎么做的,如果父类已经做了,不就不用做了。

直接拿拿过来用就可以了 不需要再重新定义了,父类也有隐式的super()语句 她会逐渐向上找!

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐