四种内部类的展示代码

内部类

内部类的使用

实例化内部类

  1. 成员内部类,一个类定义在另一个类中

    public class Outer {
        private int id = 10;
        public void out(){
            System.out.println("Outer输出");
        }
        public  class Inner{//内部类甚至可以操控类的私有属性
            public void getId(){
                System.out.println(id);
            }
            public void in(){
                System.out.println("Inner输出");
            }
        }
    }
    public static void main(String[] args) {
            Outer outer = new Outer();
            Outer.Inner inner = outer.new Inner();
            inner.getId();
            inner.in();
        }
    结果:
        10
    	Inner输出
    
  2. 静态内部类,一个static类定义在另一个类中

    public class Outer {
        private int id = 10;
        public void out(){
            System.out.println("Outer输出");
        }
        public static class Inner{//静态内部类在类创建的时候就存在
            public void in(){
                System.out.println("Inner输出");
            }
        }
    }
    

    由于static关键字的特性,所以他在外部类实例化过程就可用了,所以不能再里面加普通的变量

  3. 局部内部类(定义在方法内部的类,具体怎么用后面用到再说)

    方法里面定义的类,出了方法外就失效了

    public void out(){
        class Hello{
            String name;
            public void printName(){
                System.out.println(name);
            }
        }
        System.out.println("Outer输出");
    }
    
  4. 匿名内部类

    Outer outer1 = new Outer(){//这就是匿名内部类,在实例化类的时候,重写类
        @Override
        public void out() {
            super.out();
        }
    };
    
原文地址:https://www.cnblogs.com/li33/p/12712344.html