N种内部类

2023-12-14 17:49:21
/**
 * @Description N种内部类
 */
package com.oop;

import com.oop.demo10.Outer;

public class Application {

    public static void main(String[] args) {
        /**     成员内部类

        //new
        Outer outer = new Outer();
        //通过这个外部类来实例化内部类~
        Outer.Inner inner = outer.new Inner();
        inner.in();
        */

        //静态内部类
        Outer outer = new Outer();
    }
}
/**
 * @Description N种内部类
 */
package com.oop.demo10;

public class Outer {

    //局部内部类
    public void method(){
        class Inner{
            public void in(){

            }
        }
    }

    /**     成员内部类
    private static int id;
    public void out(){
        System.out.println("这是外部类的方法");
    }

    public static class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }

        //获得外部类的私有属性~
        public void getID(){
            System.out.println(id);
        }

    }
    */

}

//一个java类中可以有多个class类,但是只能有一个 public class
/*
class A{
    public static void main(String[] args) {

    }
}*/

/**
 * @Description N种内部类
 */
package com.oop.demo10;

public class Test {
    public static void main(String[] args) {
        //没有名字初始化类,不用将实例保存到变量中~
        new Apple().eat();

        UserService userService = new UserService() {

            @Override
            public void hello() {

            }
        };
    }

}

//匿名内部类
class Apple{
    public void eat(){
        System.out.println("1");
    }
}

interface UserService{
    void hello();
}

文章来源:https://blog.csdn.net/my_lucky_bird/article/details/134999838
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。