內部類的方法(外部呼叫內部類的方法)
阿新 • • 發佈:2018-11-01
1.使用static可以宣告一個內部類, 可以直接在外部呼叫
class Outer{ // 定義外部類
private static String info = "hello world" ; // 定義外部類的私有屬性
static class Inner{ // 使用static定義內部類為外部類
public void print(){ // 定義內部類的方法
System.out.println(info) ; // 直接訪問外部類的私有屬性
}
};
public void fun(){ // 定義外部類的方法
new Inner().print() ; // 通過內部類的例項化物件呼叫方法
}
};
public class InnerClassDemo03{
public static void main(String args[]){
new Outer.Inner().print() ; // 呼叫外部類的fun()方法
}
};
2.不使用statc宣告一個內部類 ,使外部呼叫
class Outer{ // 定義外部類
private String info = "hello world" ; // 定義外部類的私有屬性
class Inner{ // 定義內部類
public void print(){ // 定義內部類的方法
System.out.println(info) ; // 直接訪問外部類的私有屬性
}
};
public void fun(){ // 定義外部類的方法
new Inner().print() ; // 通過內部類的例項化物件呼叫方法
}
};
public class InnerClassDemo04{
public static void main(String args[]){
Outer out = new Outer() ; // 外部類例項化物件
Outer.Inner in = out.new Inner() ; // 例項化內部類物件
in.print() ; // 呼叫內部類的方法
}
};
3.在方法中定義內部類 ,使外部呼叫
class Outer{ // 定義外部類
private String info = "hello world" ; // 定義外部類的私有屬性
public void fun(final int temp){ // 定義外部類的方法
class Inner{ // 在方法中定義的內部類
public void print(){ // 定義內部類的方法
System.out.println("類中的屬性:" + info) ; // 直接訪問外部類的私有屬性
System.out.println("方法中的引數:" + temp) ;
}
};
new Inner().print() ; // 通過內部類的例項化物件呼叫方法
}
};
public class InnerClassDemo05{
public static void main(String args[]){
new Outer().fun(30) ; // 呼叫外部類的方法
}
};