zoukankan      html  css  js  c++  java
  • 内部类、嵌套类

    注意: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();

  • 相关阅读:
    JDBC
    Servlet的优缺点
    css样式,媒体查询,垂直居中,js对象
    浏览器渲染优化
    css秘密花园
    express 4
    redux
    koa
    webpack
    react学习总结
  • 原文地址:https://www.cnblogs.com/xuxu8511/p/2496544.html
Copyright © 2011-2022 走看看