Java學習筆記16(物件導向九:補充內容),java學習筆記

來源:互聯網
上載者:User

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();//輸出:貓吃魚    }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.