0


继承关系下构造方法的访问特点

什么是构造方法

构造方法,是一种特殊的成员方法,它是一个与类同名的方法。
对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。
当类实例化一个对象时会自动调用构造方法。
构造方法和其他方法一样也可以重载。
总而言之,构造方法就是类构造对象时调用的方法,主要用来实例化对象。

this的用法

  1. this.属性:当局部变量与成员变量重名时,在属性前面加this;
    2 .return this:在方法中用来返回对象本身 ;
  2. this()或this(实参):表示调用本类的其他构造器
  3. this()表示调用本类的空参构造;
  4. this(实参)表示调用本类的对应实参构造;

什么是继承

继承是面向对象的三大特征之一。继承和现实生活中的“继承”的相似之处是保留一些父辈的特性,从而减少代码冗余,提高程序运行效率。Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类,而新产生的类称为子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法。

继承关系下构造方法的访问特点:

            1.super();子类构造方法中如果什么都没有写,则默认赠送super();
             2.显示的通过写super(参数)去调用父类的构造方法,则不再默认赠送
             3.this(参数);调用本类的其他构造方法,this(参数)不能递归
             4.创建子类对象的时候,一定会调用到父类的构造方法。
​
public class Fu{
    public String name;
    public int age;
    
    public Fu(){
            System.out.println("父类无参构造方法");
}
    public Fu(String name, int age){
            super();
            this.name = name;
            this.age = age;
            System.out.println("父类有参构造方法");
            this("小红");//这样就形成了递归,是错误的写法。
}

    public Fu(String name){
            super();
            this.name = name;
            this("小明",12);//this(参数);调用本类的其他构造方法,this(参数)不能递归
}

}

​
public class Zi extends Fu{

        public Zi(){
                public String color;
               //System.out.println("子类构造方法!");//super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。
            //super();//再调用父类构造方法,不写默认送一个
             super("小明",12);//先调用父类构造方法,子类构造可以通过super关键字来调用父类重载构造
             System.out.println("子类构造方法!");
              
}

        

       public Method(){
       // super();//错误写法,只有子类构造方法才能调用父类构造方法
                
}
        
        

}
public class Test{

    public static void main(String[] args){
            Zi z = new Zi("小明",12);//创建子类对象的时候,一定会调用到父类的构造方法。

    }

}
标签: java

本文转载自: https://blog.csdn.net/qq_45353651/article/details/125474127
版权归原作者 乔宽 青青河边草 所有, 如有侵权,请联系我们删除。

“继承关系下构造方法的访问特点”的评论:

还没有评论