轻松理解Java构造方法

在之前学习字符串的时候,会见过这样一行代码:

String name = new String("HelloWorld")

其中String(“Hello World”)是调用构造方法。构造方法 是类中特殊方法,用来初始化类的实例变量,这个就是构造方法,它在创建对象(new运算符)之后 自动调用。

Java构造方法的特点:

  • 构造方法名必须与类名相同。
  • 构造方法没有任何返回值,包括void。
  • 构造方法只能与new运算符结合使用。

构造方法

构造方法示例代码如下:

public class PersonDemo {
//    名字
    private String name;
//    年龄
    private int age;
//    出生日期
    private Date brithDate;

//    构造方法
    public PersonDemo(String name, int age , Date date){
        this.name = name;
        this.age = age;
        this.brithDate = date;
    }
}

默认构造方法

有时在类中根本看不到任何的构造方法。例如User类代码如下:

public class User {
	// 用户名 
	private String username;
	
	// 用户密码 
	private String password;
}

从上述User类代码,只有两个成员变量,看不到任何的构造方法,但是还是可以调用无参数的构造方 法创建User对象,见如下代码。

User user = new User();

Java虚拟机为没有构造方法的类,提供一个无参数的默认构造方法,默认构造方法其方法体内无任何 语句,默认构造方法相当于如下代码:

//默认构造方法 
public User() { 
}

默认构造方法的方法体内无任何语句,也就不能够初始化成员变量了,那么这些成员变量就会使用默 认值,成员变量默认值是与数据类型有关.

构造方法重载

在一个类中可以有多个构造方法,它们具体有相同的名字(与类名相同),参数列表不同,所以它们 之间一定是重载关系。
构造方法重载示例代码如下:

public class PersonDemo {
//    名字
    private String name;
//    年龄
    private int age;
//    出生日期
    private Date brithDate;

//    构造方法
    public PersonDemo(String name, int age , Date date){
        this.name = name;
        this.age = age;
        this.brithDate = date;
    }

    public PersonDemo(String name, int age){
        this.name = name;
        this.age = age;
    }
    public PersonDemo(String name, Date date){
        this.name = name;
        this.brithDate = date;
    }

    public PersonDemo(int age , Date date){
        this("name",age,date);
        this.age = age;
        this.brithDate = date;
    }
    public PersonDemo(){

    }

}

构造方法封装

构造方法也可以进行封装,访问级别与普通方法一样,有私有,公有,默认,保护四种级别。

发布了120 篇原创文章 · 获赞 11 · 访问量 6950

猜你喜欢

转载自blog.csdn.net/weixin_45366499/article/details/105336661