java 內部類

來源:互聯網
上載者:User

標籤:java   內部類   

內部類
內部類不用建立對象就可以訪問外部類的成員變數和函數,包括私人
外部類要訪問內部類,必須建立內部類對象
內部類可以私人
當內部類中定義了靜態成員,則內部類也應該是靜態
當外部類中的靜態方法訪問內部類時,內部類也應該是靜態
//main(){
// 在外部類中執行個體化內部類
//Inner in =new Inner();
// in.i();
//}

局部內部類    內部類定義在局部時,不可以被成員修飾符修飾,可以直接存取外部類中的成員,不能訪問所在局部中的變數,只能訪問被final修飾的局部變數class Outer{    int i=10;public void m(){    syso("-------------");          }public void f(){    class Inner{        int j=10;        public void t(){            syso("  "+i+"  "+j);            }                   }    Inner in=new Inner();        in.t();    }main(){    Outer out =new Outer();        out.f();}}//10  10  靜態內部類靜態內部類調用變數   可以使用內部類的變數  可以使用外部類中靜態變數class Outer{    int i=10;    public void f(){syso("f()...");}    static class Inner{        int i=20;    public void i(){syso(i+"  "+this.i+"                    "+Outer.i);}                    }       }public class kk{    main(){    Outer.Inner in=new Outer.Inner();    in.i();     }           }//20  20  10 成員內部類    作為類成員存在於類內部,可以訪問外部類所有成員方法    建立在非所屬類中時,需要先建立外部類,Outer.Inner in=new Outer().new Inner();    內部類訪問外部類成員變數 Outer.this.x    class Outer{        int i=10;        class Inner{        int i=20;        public void v(){syso(i+" "+this.i+" "+Outer.this.i);}               }           }public class kk{

// Outer out =new Outer();
// Outer.Inner in =out.new Inner();
// in.v()
Outer.Inner in=new Outer().new Inner();
in.v();
}//20 20 10
匿名內部類
內部類必須是繼承一個類或者實現介面。匿名內部類是一個匿名子類對象,而且這個對象是以一個類的形式展現的。
interface Email{
public void Send();
}
public class kk{
//介面不能執行個體化對象,匿名內部類實現了介面,系統執行個體化匿名內部類對象傳給email
Email email=new Email(){
public void Send(){
syso("send email");
}
};
email.Send();
}//send email

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.