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

    1.成员内部类

    例一

    public class Test002 {
        public static void main(String[] args) {
            //1.第一种创建方法
             Cricle c = new Cricle(5);
    //        Cricle.Draw d = c.new Draw();
    //        d.drawShape();
            //2.第二种,通过方法返回一个内部类对象
            Cricle.Draw d2 = c.getDetDrawInstance();
            d2.drawShape();
        }
    }
    
    class Cricle{//外部类
        private double radius = 0;
        public static int count = 1;
        int a = 0;
        
        public Draw getDetDrawInstance() {
            return new Draw();
        }
        
        
        public Cricle(double radius) {
            this.radius = radius;
            //在外部类中访问内部类的成员需要先创建内部类对象
            //new Draw().drawShape();
            
        }
        
        class Draw{//内部类
            public void drawShape() {
                int a = 2;
                System.out.println(radius);//访问外部类的Private成员
                System.out.println(count);//访问外部类的静态成员
                System.out.println(a);//访问内部类里的局部变量
                System.out.println(Cricle.this.a);//访问成员变量
            }
        }
        
    }

    例二

    public class Test003 {
    
        public static void main(String[] args) {
            Demo d = new Demo(new Outer2());
    
        }
    
    }
    class Outer2{
        Outer2(){
            System.out.println("outer2");
        }
        class Inner2{
            Inner2(){
                System.out.println("Inner2");
            }
        }
    }
    //继承 实例内部类
    class Demo extends Outer2.Inner2{
        Demo(Outer2 o){
            o.super();
            System.out.println("Demo");
        }
    }

    2.静态内部类

    使用static修饰的内部类

    1)静态内部类的实例不会自动持有内部类的特定实例的引用,不必创建外部类的实例

    2)静态内部类可以直接访问外部类的的静态成员,如果访问外部类的实例成员,必须通过外部类的市里去访问

    3)在静态内部类中可以定义静态成员和实例成员。

  • 相关阅读:
    八、vue使用element-ui组件
    七、vue语法补充二(动态组件 & 异步组件、访问元素 & 组件、混入)
    oracle中使用sql语句生成10w条测试数据
    六、vue路由Vue Router
    五、vue状态管理模式vuex
    前端生态/工程化
    四、vue语法补充
    三、vue脚手架工具vue-cli的使用
    二、vue中组件的使用
    使用阿里云OSS上传文件
  • 原文地址:https://www.cnblogs.com/fax1996/p/9457123.html
Copyright © 2011-2022 走看看