構造方法
概述
構造方法: 也叫做構造器 構造函數 ,本質就是一個特殊的方法.
特點
1. 構造⽅法的⽅法名和類名⼀致(包括⼤⼩寫)
2. 構造⽅法沒有返回值類型(連void都沒有)
3. 構造⽅法可以重載
4. 構造⽅法不可以⼿動調⽤,只能在創建對象的時,jvm⾃動調⽤
5. 構造⽅法在創建對象時只能調⽤⼀次
作用
1. 可以為屬性進行賦值
2. 用於創建對象 ---> 角色類似於 人出生時候的臍帶
注意事項
當⼀個類中,沒有定義構造⽅法 系統會⾃動提供⼀個公開的 ⽆參的構造⽅法 當類中已經定義了構
造⽅法,系統不再提供⽆參公開構造,如果需要使⽤⽆參的構造 那么必須⾃⼰定義出來 ⼀般開發如果
定義了有參的構造 都會再定義⼀個⽆參的構造
案例
public class Demo1 {
public static void main(String[] args) {
// 創建一個人類的對象
// Person p = new Person();// 在創建對象的時候 構造方法就被調用了
// Person p = new Person("劉能",47);
// // 構造方法的角色
// //調用成員方法
// //p.eat();
//
// Person p2 = new Person();
// Person p1 = new Person();// 名字是默認值 null age 也是默認值 0
//
// System.out.println(p1.name);
// System.out.println(p1.age);
//
// //后天進行 名字 和年齡的賦值
// p1.name = "李程";
// p1.age = 13;
Person p2 = new Person("劉能",1);
System.out.println(p2.name);
System.out.println(p2.age);
}
}
//定義一個Person類
class Person{
// 定義一個構造方法
// 方法名 : Person 返回值類型: 沒有類型 連void都沒有 形式參數列表: 和 普通的方法一樣
// 定義一個無參數的構造方法
public Person(){
System.out.println("我是一個無參數的構造方法");
}
// 定義一個有參數的構造方法
public Person(String n,int a){
// 賦值
name = n;
age = a;
System.out.println("我是一個有參數的構造方法");
}
//屬性
String name;
int age;
//行為
public void eat(){
System.out.println("人吃飯");
}
}
//案例2: 關於系統為類提供無參數的構造方法
package com.ujiuye.day08;
public class Demo1 {
public static void main(String[] args) {
// 創建一個對象
Person p1 = new Person();
}
}
//定義一個Person類
class Person{
// 定義一個構造方法
// 方法名 : Person 返回值類型: 沒有類型 連void都沒有 形式參數列表: 和 普通的方法一樣
// 定義一個無參數的構造方法
public Person(){
System.out.println("我是一個無參數的構造方法");
}
//
// // 定義一個有參數的構造方法
public Person(String n,int a){
// 賦值
name = n;
age = a;
System.out.println("我是一個有參數的構造方法");
}
//屬性
String name;
int age;
//行為
public void eat(){
System.out.println("人吃飯");
}
}