java:构造函数

class Dog
{
    Dog(){
        
    }
}

构造函数没有返回值定义,构造函数名必须和类名相同,如果类里面没有构造函数,编译器会帮你加一个构造函数。

使用this调用构造函数

class Dog
{
    String name;
    Dog(){
        System.out.println("无参数");
    }
    Dog(String name){
        this.name=name;
    }    
}

this.name=name 对象的name值为构造函数的name值

this的另外一个用法

class Dog
{
    String name;
    int age;
    String address;
    Dog(String name,int age){
        this.name=name;
        this.age=age;
    }    
    
    Dog(String name,int age,String address){
        this(name,age);//调用本类当中参数为两个的构造函数
        this.address=address;
    }
    
}

 等同于 (注意使用时this语句放在第一行) 

class Dog
{
    String name;
    int age;
    String address;
    Dog(String name,int age){
        this.name=name;
        this.age=age;
    }    
    
    Dog(String name,int age,String address){
        this.name=name;
        this.age=age;
        this.address=address;
    }
    
}
原文地址:https://www.cnblogs.com/tinyphp/p/3707395.html