内部类
  lo3R5ihTjlK9 2023年12月07日 18 0

内部类

  • 成员内部类

    创建方式
    public 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的垃圾回收,节约内存开销(优点)
    • 创建对象过于频繁(缺点)
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   51   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   104   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
lo3R5ihTjlK9
作者其他文章 更多

2023-12-08

2023-12-07

2023-12-05

2023-11-13

2023-11-02

2023-11-02

2023-11-02