Java基础学习记录之构造器

89 阅读2分钟
public class 构造器 {
    public static void main(String[] args) {
       Person2 p1 =  new Person2("SMITH", 80);
       System.out.println("P1的信息如下");
       System.out.println("P1的name=" + p1.name);
       System.out.println("P1的age=" + p1.age);
       Dog dog1 = new Dog();

    }
}
class Person2{// 构造器的名字和类名必须一样
    String name;
    int age;
    public  Person2(String pName, int pAge){ // 没有返回值,也不能写void
        System.out.println("构造器被调用");
        name = pName;
        age = pAge;
    }
    public  Person2(String pName){ // 构成构造器的重载
        System.out.println("构造器被调用");
        name = pName;
    }

}
class Dog{
    public Dog(String dName){ //默认的无参构造器被覆盖了
    }
    Dog(){ // 显式的定义无参构造器

    }

}
//基本介绍:
//构造方法又叫构造器(constructor),是类的一种特殊用法,它的主要作用是完成新对象
//的初始化。它有几个特点:1.方法名和类名相同。2.没有返回值。3.在创建对象时,系统会自动的调用该类的构造器完成对对象的初始化

//基本语法:
// [修饰符] 方法名(形参列表){
//    方法体;
//          }
//1.构造器的修饰符可以默认 也可以是public protected private
//2.构造器没有返回值
//3.方法名和类名字必须一样
//4.参数列表和成员方法一样的规则
//5.构造器的调用由系统完成

//细节:
//1.一个类可以定义多个不同的构造器,即构造器重载
//2.构造器的名字和类名完全一样
//3.构造器没有返回值
//4.构造器时完成对象的初始化,并不是创建对象
//5.在创建对象时,系统自动调用构造器
//6.如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法(也叫默认构造方法),比如Dog(){},可以反编译查看
//7.一旦定义了自己的构造器,默认的构造器就覆盖了,就不能使用默认的无参构造器,除非显式的定义一下:Dog(){}