构造方法、this、super

构造方法

构造方法格式:修饰符 构造方法名(参数列表){

            }

构造方法没有返回值,必须和类名一样,构造方法是可以重载的。

构造方法在对象创建时就执行了,而且只执行一次。

public class Person {
    private String name;
    private int age;
    //构造方法
    public Person(String name,int age){
        this.name=name;
        this.age=age;
    }
    public Person(){
        
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
//注意事项
//1.当没有写构造方法时,编译器会自动添加一个空参构造
//public Person(){}
//当自己写了构造方法后,编译器就不会添加了
public class demo {

    public static void main(String[] args) {
        // 构造方法被调用:在第一次new的时候调用
            Person p=new Person("钢铁侠",17);
            p.setName("小辣椒");
            p.setAge(18);
            System.out.println(p.getName()+"..."+p.getAge());
    }

}
public class Person {
    private String name;
    private int age;
    //this只能完成本类中所有构造方法之间的调用
    public Person(){
        this("张三",28);
    }
    public Person(String name,int age){
        this.name=name;
        this.age=age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
public class Zi extends Fu{
    public Zi(){
        //所有的构造方法第一行有一条默认语句super();
        //只要构造方法直接或间接调用super()就可以完成初始化
        //调用Fu类的构造方法
        this("张三");
    }
    public Zi(String name){
        super("小红帽");
    }
}

猜你喜欢

转载自www.cnblogs.com/boss-H/p/10901802.html
今日推荐