欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java構(gòu)造器和構(gòu)造方法

Java中,構(gòu)造器(Constructor)是一種特殊的方法,用于在創(chuàng)建對象時(shí)初始化對象的屬性。每個(gè)類都至少有一個(gè)構(gòu)造器,如果程序沒有提供構(gòu)造器,Java編譯器會為該類生成一個(gè)默認(rèn)的構(gòu)造器。

構(gòu)造器與普通方法的不同之處在于:

? 構(gòu)造器的方法名必須與類名相同;
? 構(gòu)造器沒有返回類型;
? 每個(gè)類可以有多個(gè)構(gòu)造器,構(gòu)造器可以重載;
? 如果一個(gè)類沒有定義構(gòu)造器,Java編譯器會為其生成默認(rèn)構(gòu)造器,該構(gòu)造器將所有實(shí)例變量初始化為默認(rèn)值;
? 如果一個(gè)類定義了至少一個(gè)構(gòu)造器,Java編譯器就不會再生成默認(rèn)構(gòu)造器了;

下面使用代碼來演示Java構(gòu)造器和構(gòu)造方法的使用:

public class Student {
private String name;
private int age;
// 構(gòu)造器一
public Student() {
name = "Unknown";
age = 0;
}
// 構(gòu)造器二
public Student(String n, int a) {
name = n;
age = a;
}
// 設(shè)置姓名
public void setName(String n) {
name = n;
}
// 設(shè)置年齡
public void setAge(int a) {
age = a;
}
// 獲取姓名
public String getName() {
return name;
}
// 獲取年齡
public int getAge() {
return age;
}
public static void main(String[] args) {
/* 使用構(gòu)造器一創(chuàng)建學(xué)生 */
Student s1 = new Student();
System.out.println("學(xué)生姓名:" + s1.getName());
System.out.println("學(xué)生年齡:" + s1.getAge());
/* 使用構(gòu)造器二創(chuàng)建學(xué)生 */
Student s2 = new Student("張三", 18);
System.out.println("學(xué)生姓名:" + s2.getName());
System.out.println("學(xué)生年齡:" + s2.getAge());
/* 修改學(xué)生姓名和年齡 */
s1.setName("李四");
s1.setAge(20);
System.out.println("學(xué)生姓名:" + s1.getName());
System.out.println("學(xué)生年齡:" + s1.getAge());
}
}

在上面的代碼中,定義了兩個(gè)構(gòu)造器,一個(gè)是默認(rèn)構(gòu)造器,一個(gè)是帶參數(shù)的構(gòu)造器。我們來看一下main方法運(yùn)行后的輸出結(jié)果:

學(xué)生姓名:Unknown
學(xué)生年齡:0
學(xué)生姓名:張三
學(xué)生年齡:18
學(xué)生姓名:李四
學(xué)生年齡:20

從輸出結(jié)果中可以看出,使用構(gòu)造器一創(chuàng)建的學(xué)生,姓名和年齡都是默認(rèn)值,而使用構(gòu)造器二創(chuàng)建的學(xué)生,可以指定姓名和年齡。通過修改學(xué)生的姓名和年齡,可以看出這兩個(gè)屬性的值都得到了正確的修改。