一:类中类:
public class Outer {
private String info="Hello World";
public class Inner{
public void print(){
System.out.println("可直接访问外部类的变量:"+info);
}
}
public static void main(String[] args) {
Outer o=new Outer();//实例化外部类
Outer.Inner in=o.new Inner();//实例化内部类
in.print();//打印结果:可直接访问外部类的变量:Hello World
}
}
private String info="Hello World";
public class Inner{
public void print(){
System.out.println("可直接访问外部类的变量:"+info);
}
}
public static void main(String[] args) {
Outer o=new Outer();//实例化外部类
Outer.Inner in=o.new Inner();//实例化内部类
in.print();//打印结果:可直接访问外部类的变量:Hello World
}
}
二:方法中类
public class Hello {
private String info="Hello World";
public void print(final int a){
class Inner{
public void test(){
System.out.println("访问外部类中的参数不用final修饰:"+info);
System.out.println("访问外部类中方法中的内部类,要访问方法中的参数,一定要加final:"+a);
}
};
new Inner().test();//在方法中实例化内部类,用调用内部类中的test()方法;
}
public static void main(String[] args) {
Hello h=new Hello();
h.print(33);
//运行结果:
// 访问外部类中的参数不用final修饰:Hello World
// 访问外部类中方法中的内部类,要访问方法中的参数,一定要加final ,如果不加final也可以用外部类.this.变量名即可
}
}
本文详细介绍了Java中内部类的应用方式,包括如何在类内定义另一个类(类中类)以及如何在方法中定义类(方法中类)。通过具体示例展示了内部类如何访问外部类的成员变量及方法中的局部变量。
1164

被折叠的 条评论
为什么被折叠?



