黑马程序员——内部类:类中类,方法中类

来源:互联网 发布:win7 nls数据丢失损坏 编辑:程序博客网 时间:2024/05/17 13:42
                                                                       
                         
 
一:类中类:
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
 }
}
二:方法中类

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.变量名即可
 }
}