• 内部类、嵌套类


    注意:java编译器编译任何一个类时,会为其产生一个.class文件,嵌套类就会产生两个.class文件。

     1 public class Outer {
     2 
     3     /**
     4      * @param args
     5      */
     6     int outer_in = 100;
     7     public class Iner{ // 内部类只能在外部类使用
     8         int iner_in = 50;
     9         public void display(){
    10             System.out.println(outer_in); // 内部类可以直接访问外部类的成员函数
    11         }
    12     }
    13     public void Test(){
    14         //iner_in = 500; // 外部类不能直接访问内部类中的成员函数,只能通过对象访问
    15         Iner in = new Iner();
    16         in.display();
    17         System.out.println(in.iner_in);
    18     }
    19     public static void main(String[] args) {
    20         // TODO Auto-generated method stub
    21         Outer o1 = new Outer();
    22         o1.Test();    
    23     }
    24 
    25 }

    输出:100
    内部类保存着外部类的一个this指针,所以能够访问到外部类。如果把内部类改为静态类(this消掉),则外部类和内部类不存在任何关系。

    把两个看成没有关系的类就可以了... (当定义一个内部类的对象时,用OutClass.InerClass obj)

    2、内部类的访问[注意]

      内部类为一般类时:

        OuterClass obj1 = new OuterClass();

        OuterClass.InerClass obj2 = obj1.new InerClass();

       内部类为静态类时:

            OuterClass.InerClass obj3 = new  OuterClass.InerClass();

  • 相关阅读:
    IOS UITableView 加载图片 卡的问题
    泛型
    正则表达式
    CSS 实现圆角表格
    CSS 横向滚动广告
    WebService
    CSS 弹出层 支持IE/FF/OP
    XML2DT DT2XML
    HttpWebRequest 调用 WebService 返回 xml
    CSS 自由伸展的三栏式版面
  • 原文地址:https://www.cnblogs.com/xuxu8511/p/2496544.html
Copyright © 2020-2023  润新知