内部类
内部类
内部类就是在一个类的内部再定义一个类
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
上代码
package com.example.oop.demo05;
public class Outer {
    public int id = 10;
    // 成员内部类
    public class MemberInner {
        public void testA() {
            System.out.println("成员内部类");
            System.out.println(id);
        }
    }
    // 静态内部类
    public static class StaticInner {
        public void testB() {
            System.out.println("成员内部类");
        }
    }
    public void testC() {
        // 局部内部类
        class LocalInner {
            public void testC() {
                System.out.println("局部内部类");
            }
        }
        // 局部内部类只能在作用域内被调用
        LocalInner localInner = new LocalInner();
        localInner.testC();
        // 匿名调用局部内部类
        new LocalInner().testC();
    }
}
// 一个java类中可以有多个class类,但只能有一个public类
class A {
    public static void main(String[] args) {
        // 成员内部类调用
        Outer outer = new Outer();
        Outer.MemberInner memberInner = outer.new MemberInner();
        memberInner.testA();
        // 静态内部类调用
        Outer.StaticInner staticInner = new Outer.StaticInner();
        staticInner.testB();
        // 局部内部类调用
        outer.testC();
        // 匿名内部类:没有声明类变量
        new B() {
            @Override
            public void testC() {
            }
        };
    }
}
interface B {
    void testC();
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号