面向对象编程7

内部类

1、成员内部类

2、静态内部类

3、局部内部类

4、匿名内部类

package javaSE.oop.Demo10;

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

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

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

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

   public void B(){
       class Inner{}//局部内部类
  }

}
package javaSE.oop;

import javaSE.oop.Demo10.Outer;

public class Application {

   public static void main(String[] args) {

       Outer outer = new Outer();
       //通过外部类来实例化内部类
       Outer.Inner inner = outer.new Inner();
       inner.in();
       inner.getID();
  }

}
/*运行结果:
这是内部类的方法
       10

*/

 

package javaSE.oop.Demo10;

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

class Apple{
   public void eat(){
       System.out.println("1");
  }
}

interface UserService{
   void hello();
}
 
posted @ 2022-06-14 19:43  唐靈影  阅读(25)  评论(0)    收藏  举报