zoukankan      html  css  js  c++  java
  • 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 }
    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    RestEasy+用户指南----第5章.@PathParam
    RestEasy 用户指南----第4章.使用@Path @GET @POST 等
    Yii2.0----环境搭建
    Vue----创建脚手架项目
    Vue----源码学习-基本实现原理(数据代理、模板编译、数据绑定的实现、双向数据绑定)
    Django框架学习----视图与模板(最新文章实现)
    Django框架学习----视图与模板(分页功能)
    shiro之自定义realm
    shiro之jdbcRealm
    shiro之IniRealm
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5863117.html
Copyright © 2011-2022 走看看