java 匿名對象,內部類,修飾符,代碼塊

來源:互聯網
上載者:User

標籤:其他   不同   code   rac   靜態   基本   ali   pack   strong   

 

匿名對象是在建對象時只有建立對象的語句方法而沒有把對象的地址賦值給變數,匿名對象只能調用一次方法,想再調用時需要再建立一個新的匿名對象

建立普通對象:Person p =new Person();

建立匿名對象:new Person().方法名();

new Person().setName("王無");

內部類:寫在其他類的內部或者成員位置或局部位置,這是其他類叫外部類。在內部類中可以訪問外部類的屬性。

當內部類寫在成員位置時,叫成員內部類,寫在局部位置時,叫局部內部類。

成員內部類定義格式:  跟定義普通的類基本一樣

class 外部類名{

  public class 內部類名(){}

}

訪問方式:外部類名 內部類名 變數名 =new 外部類名().new 內部類名()

public class a {  //外部類    class b{    //內部類        public void c(){            System.out.println("這是一個成員類");        }    }}
a.b aa= new a().new b();        aa.c();

 局部內部變數的定義方式:

class 外部類名{

  修飾符  傳回值  方法名(){

    class 內部類{其他代碼}

}

}

訪問方式:在外部建立內部類對象,在main方法中調用方法

 

package com.oracle.demo04;public class a {   //外部類        public void c(){            class d{     //內部類                public void e(){                    System.out.println("這是一個內部類");                }            }                        new d().e();            }}
a aa =new a();        aa.c();

修飾符

 

public

protected

default

private

同一類中

同一包中(子類與無關類)

 

不同包的子類

 

 

不同包中的無關類

 

 

 

 

l 要想僅能在本類中訪問使用private修飾;

l 要想本包中的類都可以訪問不加修飾符即可;

l 要想本包中的類與其他包中的子類可以訪問使用protected修飾

l 要想所有包中的所有類都可以訪問使用public修飾。

l 注意:如果類用public修飾,則類名必須與檔案名稱相同。一個檔案中只能有一個public修飾的類。

代碼塊

局部代碼塊是定義在方法或語句中

  

構造代碼塊是定義在類中成員位置的代碼塊

 

特點:

 

 優先於構造方法執行,構造代碼塊用於執行所有對象均需要的初始化動作

 

 每建立一個對象均會執行一次構造代碼塊。

靜態代碼塊是定義在成員位置,使用static修飾的代碼塊

 

特點:

 

它優先於主方法執行、優先於構造代碼塊執行,當以任意形式第一次使用到該類時執行。

該類不管建立多少對象,靜態代碼塊只執行一次。

 

可用於給靜態變數賦值,用來給類進行初始化。

 

 

 1 package com.oracle.demo04; 2  3 public class Static { 4     private String name; 5     private int age; 6     /*構造代碼塊,建立一個對象執行一次*/ 7     //構造代碼塊 8     { 9         System.out.println("這是構造代碼塊");10     }11     /*靜態代碼塊,在該類第一次建立對象時,執行一次,以後不管再建立多少個,都12      * 不執行了,就執行一次,優先於其他代碼塊*/13     //靜態代碼塊14     static{15         System.out.println("這是靜態代碼塊");16     }17     //局部代碼塊18     public void show(){19         System.out.println("這是局部代碼塊");20     }21 }

 

java 匿名對象,內部類,修飾符,代碼塊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.