首頁 > 軟體

Java十分鐘理清物件導向與類的核心

2022-03-13 10:00:12

什麼是物件?

  • 一切客觀存在的事物都是物件

物件的組成

  • 屬性、行為

類是什麼?

  • 類是對大量物件共性的抽象
  • 類是客觀事物在人腦中的主觀反映
  • 類是建立物件的模板

類的組成

  • 屬性、行為
  • 簡單的說,一個類就是把公有的特徵寫在一起,然後由這個類建立的物件,都會都這個屬性。 例如人這個類 屬性會吃飯,會說話。我們就是物件,我們屬於人這個類,因此我們也會吃飯說話。

Java中類的定義

語法:

public class Student{
//在這裡面寫成員屬性、成員方法
}
 //Student就是這個類的名字,這個可以自定義即可

成員變數的宣告:

public class Student{
	String name;  //定義一個名字的屬性
	int age;      //定義一個年齡的屬性
//也可以直接賦初始值
	int age=10;  
}

成員方法的宣告:

public class Student{
	String name;  //定義一個名字的屬性
	int age;      //定義一個年齡的屬性

	public void show(){           //這個就是成員方法
		System.out.println("我叫:"+name+"今年:"+age+"歲")

	//當由這個類建立了一個物件後,使用這個方法,即可輸出裡面的這句話
}
}

通過類建立一個物件:

語法:變數名 = new 類型別名();

Student stu = new Student();
//意思是stu就是Student這個類的一個物件,並且有這個類的屬性和方法

呼叫物件的成員方法:

語法:物件名.方法名([引數,……]);

Student stu = new Student();
stu.show();  //用這個物件去呼叫類的show方法即可,
//因為這個方法是不需要傳引數的,所以直接呼叫就可以了

方法的過載:

如果一個類中有多個具有相同名稱但引數不同的方法,則稱為方法過載。如果只需要執行一個操作,具有相同的方法名稱將增加程式的可讀性。

// 兩個整數相加
int add(int num1,int num2){
	return num1 + num2;

// 兩個double浮點數相加
int add(double num1,double num2){
	return num1 + num2;
	
// 兩個float浮點數相加
int add(float num1,float num2){
	return num1 + num2;
//三個方法的名字都是系統的,但是需要傳入的引數不同,這樣就是方法的過載
//具有相同的方法名稱將增加程式的可讀性。 

構造方法的使用:

Java語言通過類的構造方法構建物件,構造方法與普通方法的宣告類似,但是構造方法有一些特徵:構造器的名稱必須與類名相同。

作用:

一般用來初始化成員屬性和成員方法的,即new物件產生後,就呼叫了物件的屬性和方法。 建構函式是物件一建立就執行,給物件初始化,就包括屬性,執行方法中的語句。而一般函數是物件呼叫才執行,用 “.方法名” 的方式,給物件新增功能。

public class Student{

	//無引數構造方法
	public Student(){				
		System.out.println("這個是構造方法")     
		}  //當new一個物件後,這個方法將自動執行,並會執行裡面的語句
			
}

	//有引數構造方法
	public Student(String name){				
		this.name = name;    
		}  //當new一個物件後,需要在new物件後面傳入一個String值,
		//構造方法會將這個值賦值給類中全域性變數的name
	//範例:
	Student stu = new Student("小紅");
	//這句就是在new物件的時候,把name值進行了初始化
			
}

構造方法的使用場景:

構造方法除了用於範例化物件之外,可以通過構造方法為成員變數賦值

this關鍵字:

this是一種特殊的參照,指向當前物件

  • 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分範例變數和區域性變數
  • 一個構造方法中需要呼叫同一個類的另一個構造方法,可以通過this()的方式呼叫,但this()必須要書寫在第一行

使用:

//拿這個程式碼塊舉例
//當傳入一個name值後,我們需要把這個值傳到**全域性變數**內使用
//如果不加this,則name將會與這個方法裡面的name進行匹配賦值,因為在方法內是屬於區域性變數
//所以我們在接收變數前加上this關鍵字後,指的就是全域性變數
public Student(String name){				
		this.name = name;    
		}

到此這篇關於Java十分鐘理清物件導向與類的核心的文章就介紹到這了,更多相關Java 物件導向內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com