在前面的一些日子裡,一只都在學習C#語言,使用C#在做一些小項目的,今天轉到了Java的學習,還是感覺有點的不習慣,沒有以前的中文界面的,全是英文。寫起代碼來都一直保持著C#中的編碼的習慣,但是學習JAVA並不是很難,今天講的JAVA中抽象和封裝和C#之前學過的非常類似,所以只要C#學的好,轉到JAVA還是挺容易的。好了,下面進入主題。
一.關於Class類的訪問權限問題。
01.public:可以供所有的類訪問。
在JAVA中如果一個類沒有訪問修飾符,那麼他的默認修飾符可以稱為friendly,但是,java語言中是沒有friendly這個修飾符的,那麼這個friendly是來源於C++。其實Java中的類的默認訪問權限是包級訪問權限。就是說如果寫了一個類沒有寫訪問權限修飾符,那麼該類就是默認的包級別的訪問權限,同一個包下的類都可以訪問到。如果想在不同包下使用該類,必須先導入包明,在進行訪問該類的操作。
二.JAVA中的封裝
01.什麼是封裝:
封裝就是將屬性私有化,提供公有的方法訪問私有屬性。
做法就是:修改屬性的可見性來限制對屬性的訪問,並為每個屬性創建一對取值(getter)方法和賦值(setter)方法,用於對這些屬性的訪問。
02.為什麼需要封裝:
通過封裝,可以實現對屬性的數據訪問限制,同時增加了程序的可維護性。
由於取值方法和賦值方法隱藏了實現的變更,因此並不會影響讀取或修改該屬性的類,避免了大規模的修改,程序的可維護性增強。
03.封裝的實現方法:
01.修改屬性的可見性來限制對屬性的訪問。
02.為每個屬性創建一對賦值方法和取值方法,用於對這些屬性的訪問。
03.在賦值和取值方法中,加入對屬性的存取的限制。
首先我們可以定義一個類:假如定義一個Dog類。該類有具有以下屬性:狗的姓名(name),狗的健康值(health)。
public class Dog { private String name="無名氏";//昵稱 private int health=100;//健康值 }
實現封裝這兩個字段的步驟:
01.按快捷鍵alt+shift+s會出現如圖下圖所示的界面,選中紅色框出的地方。
02.進入到下一個界面,按圖型操作。
03.封裝後的代碼
public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }
三.This關鍵字:
This是在對象內部指代自身的引用。可以直接引用對象,可以解決實例變量和局部變量之間發生的任何同名的沖突。
三.小技巧:格式化代碼
這裡用到了一個快捷鍵ctrl+shift+F,注意(在沒有輸入法的情況下使用)。