首页 > 代码库 > java9-7 成员内部类的修饰符

java9-7 成员内部类的修饰符

1、 成员内部类的修饰符:
    private 为了保证数据的安全性
    static 为了方便访问数据
  注意:静态内部类访问的外部类数据必须用静态修饰。

  案例:我有一个人(人有身体,身体内有心脏。)

 1 class Body { 2 private class Heart { //加private 不让直接访问 3 public void operator() {  4       System.out.println("心脏搭桥"); 5 } 6 } 7  8 public void method() { 9     if(如果你是外科医生) { //进行校验10         Heart h = new Heart();11         h.operator();12 }13 }14 }15 16 按照我们刚才的讲解,来使用一下17 Body.Heart bh = new Body().new Heart();18       bh.operator();19 //加了private后,就不能被访问了,那么,怎么玩呢?20         Body b = new Body();21         b.method();

 

成员内部类被静态修饰后的访问方式是:
      格式1:外部类名.内部类名 对象名 = new 外部类名.内部类名();
      格式2: 外部类名.内部类名.所要调用的静态方法名();
        如:Outer.Inner.show2();

 1 class Outer { 2     private int num = 10; 3     private static int num2 = 100; 4  5 //内部类用静态修饰, 6 -------是因为内部类可以看成是外部类的成员 7     public static class Inner { 8     public void show() { 9         //System.out.println(num);10          System.out.println(num2);11 }12 13 public static void show2() {14         //System.out.println(num);15         System.out.println(num2);16 }    17 }18 }19 20 class InnerClassDemo4 {21       public static void main(String[] args) {22         //使用内部类23         // 限定的新静态类24         //Outer.Inner oi = new Outer().new Inner();25         //oi.show();26         //oi.show2();27 28         //成员内部类被静态修饰后的访问方式是:29         //格式:外部类名.内部类名 对象名 = new 外部类名.内部类名();30           Outer.Inner oi = new Outer.Inner();31           oi.show();32           oi.show2();33 34         //show2()的另一种调用方式35           Outer.Inner.show2();36     }37 }

 

java9-7 成员内部类的修饰符