1. 程式人生 > >關於java的面向物件的相關知識-1

關於java的面向物件的相關知識-1

面向過程和麵向物件的 區別和練習

—》面向過程:就是指行為的每個步驟,以步驟為單位完成某個具體的事情 —》面向物件:面向物件就是將面向過程通過排程組合不同的物件來完成某些事情,面向物件比面向過程更先進,更高階。

建立面向物件的思維方式

1.先整體,在區域性 2.先抽像,再具體 先思考完成問題的框架,而不是行為 3.能做什麼,在做什麼

相關概念

類:是一個抽象的概念,雷士一組具有相同特性(屬性)和行為(方法)的集合。 物件:物件就是類中一個具體的個體。 屬性:相當於一個具體物件的特性 方法:相當於人的一個具體物件行為,比如:吃飯等

類和物件的定義格式

class 類名{ 屬性名稱: 返回值型別 方法名稱 } 物件的定義: 一個類想要真正的進行操作,必須依賴於類 語法: 類名稱 物件名稱=new 類名稱(); 訪問類中的屬性: 物件.屬性; 呼叫類中的方法: 物件.方法()

例項

定義一個貓類,寫上屬性和方法

public class Cat {
	//屬性--成員變數
	//暱稱
	public String cname;
	//重量
	public double weight;
	//腿
	public int tui;
	//顏色
	public String color;
	
	/*
	 * 訪問修飾符 (許可權)class 類名()
	 * public公開的,無論在哪裡都能訪問到
	 * class是java中自定義資料型別的關鍵字
	 * 通過class定義的都是引用資料型別
	 * 類名:
	 * 
	 */
	//方法
	/*
	 * 顯示的方法:
	 * 注意:方法的註釋都使用這個註釋,這個註釋有提示的效果
	 * String.format("最終顯示的結果", 引數);
	 * 
	 */
	public void show() {
		//%-5.2負號表示左對齊
		System.out.println(String.format("暱稱:%s,重量:%-5.2f,腿的個數:%d,貓的顏色:%s", cname,weight,tui,color));
	}
}

執行呼叫時:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//建立物件
		//類名 物件名 =new 類名();
		//物件名是自己定義的,符合要求即可
		/*
		 * 變數:開闢一個空間儲存值 一個空間一個值
		 * 陣列:開了一連串的空間的多個值  一個空間多個值,資料型別也必須相同
		 * 將多個相同型別的變數包裝成一個數組名
		 * 
		 */
		Cat c=new Cat();//申明瞭一個變數並在記憶體中開闢了一個空間
		
		//呼叫屬性賦值
		c.cname="小白";
		c.color="白色";
		c.tui=4;
		c.weight=12;
		//呼叫屬性取值
		c.cname();
		//呼叫方法
		c.show();
	}

類和物件的記憶體分析

xiangxi new 關鍵字表示建立一個物件 new關鍵字表示例項化一個物件 new關鍵字表示申請記憶體空間 棧記憶體是儲存地址和基本資料型別,堆是儲存物件的, 第一種情況中僅僅聲明瞭一個變數名,便沒有開闢新的記憶體空間。 有了new就可以申請一個記憶體空間,得到變數的地址,指向堆記憶體的一個空間。堆空間內就是所有屬性,方法等相加的記憶體空間。 在這裡插入圖片描述 當其有值的時候,name就會的到一個地址,這個地址是“小白”的地址 棧記憶體存的實際上是一個地址,堆記憶體存在的才是真正的資料。

構造方法

-》構造方法: 1.構造方法就是類構造物件是呼叫的方法,用於物件的初始化工作。 2.構造方法是例項化一個類的物件是,也就是new的時候,最先呼叫的方法。 -》構造方法的的定義格式: 構造方法在類中定義,方法名與類名相同,無返回值型別的宣告。 例如:

public class Student {
	//id號碼
		public int id;
		public int hight;
		public Student() {}
		//帶參構造方法,用於例項化物件的時候,直接初始化
		public Student(int id,String name,String sex,int age,int hight) {
			//此寫法可以在後續直接賦值呼叫
			this.id=id;
			this.name=name;
			this.sex=sex;
			this.age=age;
			this.hight=hight;
		}

}

說明:一個類中有多個構造方法,就叫做構造方法 的過載有其他構造方法時,保留預設的構造方法 預設的構造方法就是隻有一個相同的類名,沒有引數和其它東西。 構造方法的知識點小結: 在這裡插入圖片描述

this關鍵字

this關鍵字的用法: 1.可以呼叫屬性 2.可以呼叫方法和構造方法 3.表示當前物件 在這裡插入圖片描述 在方法中呼叫方法: 在這裡插入圖片描述