大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java中的類和對象

Java中的類和對象

更新時間:2022-06-22 12:52:48 來源:動力節點 瀏覽1248次

動力節點小編告訴大家,類和對象是面向對象編程的基本概念,圍繞現實生活中的實體展開。

順序

類是用戶定義的藍圖或原型,從中創建對象。它表示一種類型的所有對象共有的一組屬性或方法。一般來說,類聲明可以包括這些組件,按順序:

修飾符:類可以是公共的或具有默認訪問權限。

類關鍵字:類關鍵字用于創建一個類。

類名: 名稱應以首字母開頭(按約定大寫)。

超類(如果有):類的父類(超類)的名稱,如果有的話,前面有關鍵字extends。一個類只能擴展(子類)一個父類。

接口(如果有):由類實現的接口的逗號分隔列表,如果有的話,前面有關鍵字 implements。一個類可以實現多個接口。

主體:類主體由大括號 { } 包圍。

構造函數用于初始化新對象。字段是提供類及其對象狀態的變量,方法用于實現類及其對象的行為。

在實時應用程序中使用了各種類型的類,例如 嵌套類、匿名類、lambda 表達式。

目的

它是面向對象編程的基本單元,代表現實生活中的實體。一個典型的 Java 程序會創建許多對象,如您所知,這些對象通過調用方法進行交互。一個對象包括:

1.狀態:它由對象的屬性表示。它還反映了對象的屬性。

2.行為:它由對象的方法表示。它還反映了一個對象對其他對象的響應。

3.身份:它為一個對象賦予一個唯一的名稱,并使一個對象能夠與其他對象交互。

對象示例:狗

對象對應于現實世界中發現的事物。例如,圖形程序可能具有諸如“圓形”、“方形”和“菜單”之類的對象。一個在線購物系統可能有諸如“購物車”、“客戶”和“產品”之類的對象。

聲明對象(也稱為實例化類)

當一個類的對象被創建時,該類被稱為實例化。所有實例共享類的屬性和行為。但是這些屬性的值,即狀態對于每個對象都是唯一的。一個類可以有任意數量的實例。

例子:

當我們聲明變量(類型名稱;)時。這通知編譯器我們將使用名稱來引用類型為類型的數據。對于原始變量,此聲明還為變量保留了適當的內存量。所以對于引用變量,類型必須是一個具體的類名。一般來說,我們不能創建抽象類或接口的對象。

Dog tuffy;

如果我們像這樣聲明一個引用變量(tuffy),它的值將是不確定的(null),直到一個對象被實際創建并分配給它。簡單地聲明一個引用變量并不會創建一個對象。

初始化對象

new 運算符通過為新對象分配內存并返回對該內存的引用來實例化一個類。new 運算符還調用類構造函數。

// Class Declaration
public class Dog
{
	// Instance Variables
	String name;
	String breed;
	int age;
	String color;
	// Constructor Declaration of Class
	public Dog(String name, String breed,
				int age, String color)
	{
		this.name = name;
		this.breed = breed;
		this.age = age;
		this.color = color;
	}
	// method 1
	public String getName()
	{
		return name;
	}
	// method 2
	public String getBreed()
	{
		return breed;
	}
	// method 3
	public int getAge()
	{
		return age;
	}
	// method 4
	public String getColor()
	{
		return color;
	}
	@Override
	public String toString()
	{
		return("Hi my name is "+ this.getName()+
			".\nMy breed,age and color are " +
			this.getBreed()+"," + this.getAge()+
			","+ this.getColor());
	}
	public static void main(String[] args)
	{
		Dog tuffy = new Dog("tuffy","papillon", 5, "white");
		System.out.println(tuffy.toString());
	}
}

輸出:

Hi my name is tuffy.
My breed,age and color are papillon,5,white

此類包含一個構造函數。我們可以識別構造函數,因為它的聲明使用與類相同的名稱并且它沒有返回類型。Java 編譯器根據參數的數量和類型來區分構造函數。Dog類中的構造函數有四個參數。以下語句提供“tuffy”、“papillon”、5、“white”作為這些參數的值:

Dog tuffy = new Dog("tuffy","papillon",5, "white");

執行此語句的結果可以說明為:

注意:所有類都至少有一個構造函數。如果一個類沒有顯式聲明,Java 編譯器會自動提供一個無參數構造函數,也稱為默認構造函數。這個默認構造函數調用類父類的無參數構造函數(因為它只包含一個語句,即 super();),或者如果類沒有其他父類則調用Object類構造函數(因為 Object 類是所有類的父類,或者直接或間接)。

創建類對象的方法

在java中有四種創建對象的方法。嚴格來說只有一種方式(使用new關鍵字),其余的在內部使用new關鍵字。

使用 new 關鍵字:這是在 java 中創建對象的最常見和通用的方法。例子:

// 創建類 Test 的對象
Test t = new Test();

使用 Class.forName(String className) 方法: java.lang 包中有一個名為 Class 的預定義類。forName(String className) 方法返回與具有給定字符串名稱的類關聯的 Class 對象。我們必須為一個類提供一個完全限定的名稱。在此 Class 對象上調用 new Instance() 方法時,將返回具有給定字符串名稱的類的新實例。

// 創建公共類 Test 的對象
// 考慮com.p1包中存在的類 Test 
Test obj = (Test)Class.forName("com.p1.Test").newInstance();

使用 clone() 方法: object 類中存在 clone() 方法。它創建并返回對象的副本。

// 創建類 Test 的對象
Test t1 = new Test(); 
// 創建上述對象的克隆
Test t2 = (Test)t1.clone();

反序列化:反序列化是一種從文件中的保存狀態讀取對象的技術。

FileInputStream file = new FileInputStream(filename); 
ObjectInputStream in = new ObjectInputStream(file); 
對象 obj = in.readObject();

僅按一種類型創建多個對象

在實時中,我們需要一個類的不同對象在不同的??方法中。創建多個引用來存儲它們并不是一個好習慣,因此我們聲明一個靜態引用變量并在需要時使用它。在這種情況下,內存的浪費更少。不再引用的對象將被java的垃圾收集器銷毀。例子:

測試 test = new Test();
測試 = 新測試();

在繼承系統中,我們使用父類引用變量來存儲子類對象。在這種情況下,我們可以使用相同的引用變量切換到不同的子類對象。例子:

類動物{}
類狗擴展動物{}
類貓擴展動物{}
公開課測試
{
    // 使用 Dog 對象
    動物 obj = new Dog();
    // 使用貓對象
    obj = 新貓();
}      

匿名對象

匿名對象是被實例化但不存儲在引用變量中的對象。

它們用于立即方法調用。

它們將在方法調用后被銷毀。

它們廣泛用于不同的庫中。例如,在 AWT 庫中,它們用于在捕獲事件時執行某些操作(例如按鍵)。

在下面的例子中,當一個鍵是按鈕(由btn引用)被按下時,我們只是創建了EventHandler類的匿名對象來調用handle方法。

btn.setOnAction(新事件處理程序()
{
    公共無效句柄(ActionEvent 事件)
    {
        System.out.println("Hello World!");
    }
});

以上就是關于“Java中的類和對象”的介紹,大家如果對此比較感興趣,想了解更多相關知識,不妨來關注一下動力節點的Java教程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产成人精品男人的天堂538 | 特黄特色大片免费播放器999 | 久久精品国产亚洲高清 | 又爽又黄又无遮挡的视频在线观看 | 中国一级特黄真人毛片免 | 国产69精品久久久久999三级 | 色综合久久综合网欧美综合网 | 香蕉在线精品一区二区 | 国产欧美精品一区二区三区-老狼 | 男女一级毛片免费播放 | 日日摸夜夜爽久久综合 | 久久r视频| 亚洲第一区在线 | 亚洲免费一 | 国产精品一区二区手机看片 | 97国产精品视频观看一 | 国产1区2区三区不卡 | 国产成人免费视频 | 特级毛片在线播放 | 国产精品高清在线观看93 | 成人欧美日韩高清不卡 | 五月婷婷基地 | 国产成人久久精品区一区二区 | 四虎影视网址 | 亚洲第九十七页 | 免费看真人a一级毛片 | 国产伦精品一区二区免费 | 国产成人18黄网站麻豆 | 91成人免费观看在线观看 | a毛片免费 | 久草热久草在线 | 亚洲精品久久久久久中文字幕小说 | 亚洲成在人色婷婷 | 亚洲欧美日韩一区 | 亚洲国产欧美精品 | 亚洲欧美日韩国产一区图片 | 欧美成人天天综合在线视色 | 国产欧美一区二区三区精品 | 黄色录像欧美 | 亚洲综合图区 | 中文字幕久久久久久精 |