zoukankan      html  css  js  c++  java
  • java内部类

    内部类的访问规则:

    1,内部类可以直接访问外部类中的成员,包括私有。

    2,外面类要访问内部类,必须建立内部类对象。

    public class Outer {
        private int x=3;
        
        class Inner{
            void function(){
                System.out.println("inner"+x);
            }
        }
        
        void method(){
            Inner in=new Inner();
            in.function();
        }
    }

     测试类:

    public class Test {
    
        public static void main(String[] args) {
            //直接访问内部类中的成员
            Outer.Inner in=new Outer().new Inner();
            in.function();
        }
    
    }

    当内部类定义在外部类的成员位置上,而且非私有,可以在外部其它类中可以直接建立内部类对象

    格式

      外部类名.内部类名 变量晚=外部类对象.内部类对象

        Outer.Inner in=new Outer().new Inner();

    public class Outer {
        private int x=3;
        
        class Inner{
            void function(){
                System.out.println("inner"+x);
            }
        }
    
    
    publiic class Test(){
      public static void main(String[] args){
       Outer.Inner in=new Outer().new Inner();
       in.function();
    
        }
    
    }


    当内部类在成员位置上,就可以被成员修饰符所修饰

    比如:private:将内部类在外部类中进行封装

         static:内部类就具备static的特性。

       当内部类被static修饰后,只能直接访问外部类中的static成员,出现了访问局限性

        在外部其它类中,如何直接访问static内部类的非静态成员呢?

        new.Outer.Inner().function();

        

        在外部其它类中,如何直接访问static内部类的静态成员呢?

        Outer.Inner.function();

            //注意

      当内部类中定义了静态成员,该内部类必须是static的

      当外部类中的静态方法访问内部在时,内部类也必须是static的。

  • 相关阅读:
    猜数字游戏
    发红包程序
    实现微信摇一摇部分功能
    计算1+1/2+1/3+....+1/100的值
    约瑟夫问题
    简易计时器
    简易学生管理系统
    文件加密解密
    分鱼问题
    分橘子问题
  • 原文地址:https://www.cnblogs.com/zk753159/p/4992814.html
Copyright © 2011-2022 走看看