java基础——N种内部类、无名初始化类、无名初始化接口

N种内部类

  • 定义:内部类就是一个类的内部再定义一个类,比如A类中定义了一个B类,那么B类相对A来说就是内部类来说就成为内部类。而A类相对于B类称为外部类
  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类
public class Outer {
    private int id = 99;
    public void out(){
        System.out.println("这是外部类的方法");
    }
    public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }
        public void getID(){
            //内部类可以直接操作私有的属性
            System.out.println(id);
        }
    }
}
//============================================
public class Application {
    public static void main(String[] args) {
        //new 外部类
        Outer outer = new Outer();
        //通过这个外部类来实例化内部类
        Outer.Inner inner = outer.new Inner();
        inner.getID();
    }
}

一个java文件中多个类和局部类

public class Outer {

    public void methed(){
        //局部内部类
        class Inner{
            public void test(){

            }
        }

    }

}
//一个java文件中可以有多个class类,但是只能有一个public class
class A{

}

无名初始化类和无名初始化接口

public class Test {

    public static void main(String[] args) {

        //没有名字初始化类,不用将实例保存在变量中
        new Apple().eat();

        new UserService() {
            @Override
            public void hello() {
                System.out.println("这是类接口");
            }
        };
    }
}
class Apple{
    public  void eat(){
        System.out.println("吃苹果");
    }
}
interface UserService{
    void hello();
}
posted @ 2021-05-28 13:28  放慢_脚步  阅读(94)  评论(0编辑  收藏  举报