Java學習筆記16(物件導向九:補充內容),java學習筆記
總是看到四種許可權,這裡做一個介紹:
最大許可權是public,後面依次是protected,default,private
private修飾的只在本類可以使用
public是最大許可權,可以跨包使用,不同包的子類和無關類都可以使用,可以修飾類,方法,成員變數
不寫入權限就是default預設許可權:限於本包內使用
protected許可權:跨包後的類如果有繼承關係(子類),不能使用default修飾的,而可以使用protected修飾的,調用時候必須在子類的裡面才可以調用父類的受保護許可權,注意protected不能修飾類
日常開發用的只有:public、private
另外注意:
abstract不可以與static,private,final寫在一起
關於代碼塊:
樣本
public class Person { private String name; private int age; public Person(String name,int age){ this.age = age; this.name = name; System.out.println("構造方法"); } //構造代碼塊 { System.out.println("構造方法代碼塊"); } //靜態代碼塊 static{ System.out.println("靜態代碼塊"); }}
//靜態代碼塊,只執行一次//構造代碼塊,每次建立對象都會執行,優先於構造方法public class Test { public static void main(String[] args) { Person person1 = new Person("張三", 18); Person person2 = new Person("李四", 18); }}/*輸出:靜態代碼塊構造方法代碼塊構造方法構造方法代碼塊構造方法*/
還有一些補充內容:
文檔注釋和產生jar包
隨意寫一個類
package demo;/** * @author dell * @version 1.0 */public class Person { /** * * @param a * @param b * @return function */ public int function(int a, int b){ return a+b; }}
利用eclipse,選擇工程,右鍵export裡面有選擇Java,裡面有Javadoc等檔案,
選擇後會產生一套網頁,相當於說明書,可以查看相關內容
也可以選擇java的其他選項,產生jar包等
匯入jar包方式:
通常是在工程目錄下建立一個lib檔案夾,放入jar包,右鍵build path -> add to build path,使用時候import就可以了
物件導向的補充:
1.類可以作為方法的參數傳遞,即方法的參數可以是一個對象,實質上是傳遞一個記憶體位址,在方法中進行對象的相關操作
2.和第一條類似,類也可以作為方法的傳回值,即返回一個對象的引用
3.抽象類別也可以作為方法的參數和傳回值,區別在於:
抽象類別沒有對象,只能利用多態的特性傳遞(返回)抽象類別的子類對象,注意接收傳回值的時候類型必須是抽象類別而不是子類
4.介面同樣可以作為方法的參數和傳回值:
介面也沒有對象,必須傳遞介面的實作類別對象,注意可以利用多態建立實作類別對象也可以直接建立實作類別對象,
同樣,作為傳回值的時候雖然傳入的是實作類別對象,但是接收的時候必須是介面類型
針對上面的補充內容寫一個簡單的案例來理解:
public abstract class Animal { public abstract void eat(); public static Animal getInstance(){ return new Cat(); }}
public class Cat extends Animal { public void eat(){ System.out.println("貓在吃"); }}
public class Test { public static void main(String[] args) { Animal a = Animal.getInstance(); a.eat();//輸出:貓吃魚 }}