class 外部類{
class 內部類{
}
} |
class Outer{
private String info = "hello world!!!" ;
class Inner{
public void print(){
System.out.println(info) ;
}
};
public void fun(){
new Inner().print() ;
}
};
public class Demo20{
public static void main(String args[]){
new Outer().fun() ;
}
}; |
class Outer{
private String info = "hello world!!!" ;
public void fun(){
new Inner(this).print() ;
}
public String getInfo(){
return this.info ;
}
};
class Inner{
private Outer out = null ;
public Inner(Outer out){
this.out = out ;
}
public void print(){
System.out.println(this.out.getInfo()) ;
}
};
public class Demo21{
public static void main(String args[]){
new Outer().fun() ;
}
}; |
class Outer{
private String info = "hello world!!!" ;
class Inner{
public void print(){
System.out.println(info) ;
}
};
};
public class Demo22{
public static void main(String args[]){
Outer out = new Outer() ;
// 外部類.內部類 內部類對象 = 外部類實例.內部類實例
Outer.Inner in = out.new Inner() ;
in.print() ;
}
}; |
class Outer{
private String info = "hello world!!!" ;
// 如果想讓方法中定義的內部類,訪問此參數,則此參數前加一個修飾 —— final
public void fun(final int temp){
// 直接在方法中定義內部類
class Inner{
public void print(){
// 此處,方法中定義的內部類可以直接訪問外部類中定義的屬性
System.out.println(info) ;
System.out.println(temp) ;
}
};
new Inner().print() ;
}
};
public class Demo23{
public static void main(String args[]){
new Outer().fun(30) ;
}
}; |