面向物件的思想概述
- 類和物件是面向物件的核心概念 萬物皆物件
- 類是對一類事物的描述,是抽象的,概念上的定義.
- 物件是實際存在的該類事物的每一個個體,因而也稱為實體(instance)
- 萬物皆物件
- 類:抽象概念的人 物件:實實在在的某個人
- 面向物件程式的設計的重點是 類的設計
- 類的設計 , 就是類的成員的設計
java類及類的成員
一.物件的創建如何使用
1.屬性:對應類中的成員變數(屬性=成員變數=field=域,欄位)
2.行為:就是類中的成員方法(方法=成員方法=函式=method)

二 類和物件的使用
1.類是參考資料型別,所以需要通過new 關鍵字來創建
person類:(創建類,設計類的成員)
class Person {
// 屬性
String name;
int age = 1;
boolean isMale;
// 方法
public void eat() {
System.out.println("吃飯!!");
}
public void sleep() {
System.out.println("睡覺");
}
public void talk(String language) {
System.out.println("我們可以用" + language + "進行交流");
}
}
2.再創建一個Java的測驗類 PersonTest (創建類的物件)
//測驗類
public class PersonTest { public static void main(String[] args) { // 創建Person 類的物件 Person p1 = new Person(); // 呼叫物件的結構(屬性,方法) // 呼叫屬性 物件.屬性 p1.name = "Tom"; System.out.println(p1.name); // 呼叫方法 物件.方法 p1.eat(); p1.sleep(); p1.talk("chinese"); } }
3.通過"物件.屬性"或者"物件.方法"呼叫物件的結構
注意:
1.每new 一次就創建了另一個物件 每一個物件都獨立的擁有一套類的屬性(屬性 非static),意味著修改一個物件的屬性a,不影響另一個物件的屬性a的值.
Person p2 = new Person();
System.out.println(p2.name); //null 初始有默認值
2.
Person p3 = p1; //將物件p1的地址值 賦給變數p3 導致p1,p3指向堆空間中的同一個位置
System.out.println(p3.name);
p3.age = 10;
System.out.println(p1.age);
三 類中屬性(成員變數) vs區域變數
1.相同點:
-
-
-
- 定義變數的格式 資料型別 變數名 =變數值
- 先宣告 后使用
- 變數都有其作用域
-
-
2.不同點:
-
-
-
- 在類中宣告的位置不同
- 屬性:直接定義在類的一對括號內.
- 區域變數:宣告在方法內,方法引數,代碼塊內,構造器內部的的變數
- 關于權限修飾符的不同
- 屬性:可以在宣告屬性的時候 指明其權限,使用權限修飾符
- 區域變數 不可以使用權限修飾符
- 默認初始化值得情況
- 屬性:類的屬性 根據其型別,都有默認初始化值
- 整形(byte,short,int,long) 0
- 浮點型(float,double) 0.0
- 字符型(char) 0(或者 \u0000)
- 布爾型(boolean) false
- 參考資料型別(類,介面,陣列) null
- 區域變數在呼叫是時候進行賦值即可.
- 屬性:類的屬性 根據其型別,都有默認初始化值
- 記憶體中加載得位置
- 屬性:加載到堆空間(非 static)
- 區域變數:加載到堆疊空間
- 在類中宣告的位置不同
-
-
物件的記憶體決議:
記憶體決議:
1. 堆:存放物件的實體.
堆疊:存盤區域變數
方法區:類的資訊,常量,靜態變數,即時編譯器編譯后的代碼.
2. 上述例子的記憶體決議:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/173496.html
標籤:Java
上一篇:&&和&、||和|的異同
