内部类

内部类就是在一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就是内部类,而A类相对于B类就是外部类

注意:一个Java类中可以有多个class类,但是只能有一个public class

成员内部类

  • 内部类的对象创建
public class Outer {

   public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }
}
public class Application {
    public static void main(String[] args) {
        //new
        Outer outer = new Outer();
        //通过这个外部类来实例化内部类
        Outer.Inner inner = outer.new Inner();
  • 内部类可以获得外部类的私有属性
public class Outer {
    private int id = 10;
   
    class Inner{
        
        public void getID(){
            System.out.println(id);
        }
    }
}

静态内部类

静态内部类就是在成员内部类的声明时,加上static关键字修饰。

public class Outer {
   
   public static class  Inner{
        
        public void test(){
            System.out.println("...");
        }
    }
}

局部内部类

public class Outer {
  
    public void  method(){
        // 局部内部类
        class Inner{
            int age = id;
            public void  test(){
                System.out.println("这里是局部内部类方法");
            }
        }

匿名内部类

ublic class Outer {
    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();
}
上一篇:SQL基础知识V2——JOIN连接


下一篇:一篇文章掌握 Python 中的装饰器