什么是构造方法
构造方法,是一种特殊的成员方法,它是一个与类同名的方法。
对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。
当类实例化一个对象时会自动调用构造方法。
构造方法和其他方法一样也可以重载。
总而言之,构造方法就是类构造对象时调用的方法,主要用来实例化对象。
this的用法
- this.属性:当局部变量与成员变量重名时,在属性前面加this;
2 .return this:在方法中用来返回对象本身 ; - this()或this(实参):表示调用本类的其他构造器
- this()表示调用本类的空参构造;
- 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);//创建子类对象的时候,一定会调用到父类的构造方法。
}
}
版权归原作者 乔宽 青青河边草 所有, 如有侵权,请联系我们删除。