当前位置: 首页 > 图灵资讯 > 技术篇> 内部类

内部类

来源:图灵教育
时间:2023-12-07 17:25:20

内部类

  • 成员内部类

    publicic创建方法 class 外部类名 {    private String name;    public class 内部类名{    }}访问方式    外部对象 外部对象名 = new 外部类名();外部对象。内部对象 内部对象名 =外部对象名.new 内部类名();Demo demo = new Demo();Demo.InnerClass innerClass = demo.new InnerClass();innerClass.doWork();
    public class Demo {    private String name;    ///成员内部类    public class InnerClass{        public void doWork(){            System.out.println("内部类中的方法");        }    }    public void play(){        ///局部内部类        class Game{            public void doGame(){                System.out.println("play game ");            }        }        Game game = new Game();        game.doGame();    }}public class Test {    public static void main(String[] args) {        Demo demo = new Demo();        Demo.InnerClass innerClass = demo.new InnerClass();        innerClass.doWork();        demo.play();    }}
  • 匿名内部类

    public interface Usb {    void drive();}public class UsbTest {    public static void main(String[] args) {        Usb usb = new Usb() {            @Override            public void drive() {            }        };    }}
匿名对象
  1. 定义格式

    不接受创建对象 new Student().eat();
  2. 意义

    • 方便GC垃圾回收,节省内存费用(优势)
    • 创建对象太频繁(缺点)