Day07-内部类

内部类

  • 成员内部类

package 内部类;

public class Outer {
   private int age=10;
   public void out(){
       System.out.println("这是外部类的方法");
  }

   public class Inner{
       public void inner(){
           System.out.println("这是内部类的方法");
      }
       //获得外部类的私有属性
       public void getAge(){
           System.out.println(age);
      }
  }
}
import 内部类.Outer;

public class Application {
   public static void main(String[] args) {
       Outer outer = new Outer();
       outer.out();
       Outer.Inner inner = outer.new Inner();
       inner.inner();
       inner.getAge();
  }
}

  • 静态内部类

package 内部类;

public class Outer {
   private static int age=10;
   public void out(){
       System.out.println("这是外部类的方法");
  }

   public static class Inner{
       public void inner(){
           System.out.println("这是内部类的方法");
      }
       //获得外部类的私有属性
       public void getAge(){
           System.out.println(age);
      }
  }
}
  • 局部内部类

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

          }
      }
  }
}
  • 匿名内部类

package 内部类;

public class Outer {
   public static void main(String[] args) {
       //没有名字初始化类,不用将实例保存到变量中
       new A().eat();
       new UserService() {
           @Override
           public void hello() {
               
          }
      };
  }
}

//一个java类中可以有多个class类,但是只能有有一个public class类
class A {
   public void eat() {
       System.out.println("1 ");
  }
}

interface UserService {
   void hello();
}
 
posted @   仓鼠的气垫床  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示