Javaでの内部クラスの詳細な使用

1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...

内部クラスアクセスルール

•内部クラスは、プライベートクラスを含む外部クラスのメンバーに直接アクセスできます。 アクセス形式:外部クラス名。これ
•外部クラス内部クラスにアクセスするには、内部クラスオブジェクトを作成する必要があります。
•内部クラスはメンバーの位置にあり、メンバー修飾子で変更できます。
コードを次のようにコピーします。
パブリッククラスInnerClassDemo1 {
パブリックstatic void main(String [] args){
外側ou =新しい外側();
Ou.method(); // 4 3
Outer.Inner oi =新しいOuter()。新しいInner();
Oi.function2();

}

}
クラス外{
プライベートint x = 3;
クラス内{
Int x = 4;
Void function1(){
System.out.println(x);
System.out.println(Outer.this.x);
}
Void function2(){
Outer.this.method();
}
}
public void method(){
内部=新しい内部();
In.function1();
}
}

静的内部クラス

•内部クラスは静的メンバーを定義し、内部クラスは静的でなければなりません。
コードを次のようにコピーします。
/ *
注:内部クラスは静的メンバーを定義し、内部クラスは静的でなければなりません。

* /
クラスInnerClassDemo2
{
パブリック静的void main(String [] args)
{
新しいOuter.Inner()。function(); //静的な内部クラスオブジェクトを作成する
}
}
クラスアウター
{
プライベートstatic int x = 5;
静的クラスInner //静的内部クラスは外部クラスの静的メンバーにのみアクセスできます
{
空関数()
{
System.out.println( "inner:" + x);
}
}
}

ローカル内部クラス

•内部クラスがローカルに定義されている場合、外部クラスのメンバーに直接アクセスできます。
•ローカル変数へのアクセスはfinalで変更する必要があります。
コードを次のようにコピーします。
/ *
内部クラスはローカルに定義されています。外部クラスのメンバーは、外部クラスの参照も保持するため、直接アクセスできます。
しかし、ローカルの変数にアクセスすることはできません。それは、finalによって変更されたローカル変数にしかアクセスできません

* /

クラスInnerClassDemo3
{
パブリック静的void main(String [] args)
{
Outer out =新しいOuter();
Out.method(7);
}
}
クラスアウター
{
Int x = 3;
public void method(final int a)
{
クラスインナー
{
空関数()
{
System.out.println(a);
}
}
新しいInner()。function();
}
}

匿名の内部クラス

•匿名の内部クラスは内部クラスの略です。
•匿名の内部クラスの前提条件:内部クラスはクラスを継承したり、インタフェースを実装する必要があります。
•匿名の内部クラスはコンストラクタを作成できません。
コードを次のようにコピーします。
/ *
匿名の内部クラス
匿名の内部クラスは、実際には内部クラスの短い形式です
2.匿名の内部列の前提を定義します。
内部クラスは、クラスを継承するか、またはインタフェースを実装する必要があります
3.匿名の内部クラス形式:新しい親クラスまたはインタフェース(){サブクラスの内容を定義}
* /
クラスInnerClassDemo4
{
パブリック静的void main(String [] args)
{
デモd =新しいデモ()
{
Void show()
{
System.out.println( "匿名の内部クラスの表示メソッド");
}
ボイド法()
{
System.out.println( "匿名の内部クラスメソッドメソッド");
}
} .show();
D.method();
}
}
抽象クラスのデモ
{
抽象的なvoid show();
}


1 Star2 Stars3 Stars4 Stars5 Stars (まだ評価されていません)
Loading...
      この投稿は審査処理中  | 元のサイトへ