类的构造器语法

阅读量: 1004 编辑

类的构造器是一种特殊的方法,它的特点是:没有返回值名称必须和类名一致

1、用于创建对象,每个类都至少有一个构造器(默认是隐藏的);

2、构造器名称必须和类名称一致;

3、一个类可以有多个构造器,但这些构造器的参数列表必须不同;

4、如果没有定义构造器,则系统将自动提供一个默认的不带任何参数的构造器;

5、一旦自己定义了一个构造器,那么,默认的就会消失掉;

6、当我们使用 new 的时候就是调用的构造器;

7、构造器本质上是一个特别的方法,所以语法和方法类似,只是构造器的名字必须和类的名字一致;

8、有参数的构造器,表示我们在用 new 实例化对象的时候,必须给属性设定值,当然如果不在实例化的时候设定,也可以在创建完成之后,再单独设定;

一、类的语法

[<modifiers>] class <class_name> {
    [<attribute_declarations>]
    
    //构造器语法
    [<constructor_declarations>]
    [<method_declarations>]
}

二、构造器的语法

[<modifiers>]  <class_name> ([<argu_list>]){
    [<statements>]
}
  • [<modifiers>] 访问权限修饰符,包括 public default protected private

  • <class_name>:必须和类的名字一致;

  • [<argu_list>]:构造器的参数,可以有也可以没有;

  • [<statements>]:构造器中的代码片段;

  • 构造器本质上就是类的方法,只是构造器没有返回值;

  • 如果开发者不自己定义构造器,系统会提供一个默认的、没有参数的构造器,方便我们使用new关键字来创建实例;

  • 如果开发者自己定义了构造器,那么系统就不会提供默认的构造器;

三、编程实战

代码的详细解读,可以参考视频教程

Person.java

/**
 * User: 祁大聪
 * 类名必须和文件名一样
 */
public class Person {
	
    //类的属性
    private String name;
    private int age;

    //如果没有其他的构造器,系统默认就有一个隐藏的没有参数的构造器
    public Person(){
        System.out.println("Person() is called");
    }

    //有参数的构造器
    public Person(String name){
        System.out.println("Person(String name) is called");
        this.name = name;
    }

    //有参数的构造器,参数列表必须和其他的构造器不一样
    public Person(String name,int age){
        System.out.println("Person(String name) is called");
        this.name = name;
    }

    public static void main(String[] args) {
    
        //创建的实例时候,根据不同的参数列表调用不同的构造器
        Person p = new Person("三妮");
        p.name = "三妮";
        
        System.out.println(p.name);
    }
    
}



爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司