zoukankan      html  css  js  c++  java
  • 静态内部类

    内部类,一个被称为静态嵌套类,一个被称为内部类。
    从字面的角度解释是这样的:
    什么是嵌套?嵌套就是我跟你没关系,自己可以完全独立存在,但是我就想借你的壳用一下,来隐藏一下我自己,,不想被其他类依赖。
    什么是内部?内部就是我是你的一部分,我了解你,我知道你的全部,没有你就没有我。(所以内部类对象是以外部类对象存在为前提的)

    静态内部类的实例不需要先实例化外部类成员,可直接实例化。

    ①静态内部类中可以有非静态的方法

    ②当内部类中有静态方法或者静态成员变量时,一定是静态内部类

    public class Outerclass {
      static class Inner{
        private void innerVoidMethod(){//静态内部类中可以有非静态的方法
          Outerclass.outerStaticMethod();//静态内部类可以访问外部类的静态成员和方法
          new Outerclass().outerVoidMethod();
          //Outerclass().outerVoidMethod();//error, 静态内部类不可以直接访问外部类的非静态成员和方法
        }
        private static void innerStaticMethod(){
          Outerclass.outerStaticMethod();//静态内部类可以访问外部类的静态成员和方法
          //Outerclass().outerVoidMethod();//error, 静态内部类不可以直接访问外部类的非静态成员和方法
        }
      }
    
       /*class Inner2{  //error,当内部类中有静态方法或者静态成员变量时,一定是静态内部类
        private static void inner2StaticMethod(){
        }
      }*/
    
      private void outerVoidMethod(){
        System.out.println("outerVoidMethod");
      }
      private static void outerStaticMethod(){
        System.out.println("outerStaticMethod");
      }
      public static void main(String[] args) {
        new Inner().innerVoidMethod();//静态内部类的实例不需要先实例化外部类成员,可直接实例化
        Inner.innerStaticMethod();
      }
    }

    outerStaticMethod
    outerVoidMethod
    outerStaticMethod
    outerVoidMethod

  • 相关阅读:
    10 个超酷的加载中的 Gif 动画
    国内CDN公共库
    http://www.cnbeta.com/articles/306769.htm
    玩转WIN7的MKLINK
    盘点国内网站常用的一些 CDN 公共库加速服务
    15 个很棒的 Bootstrap UI 界面编辑器
    2014 年 20 款最好的 CSS 工具
    Web 开发中 20 个很有用的 CSS 库
    20+ 个很有用的 jQuery 的 Google 地图插件
    12 个 Web 设计师必备的 Bootstrap 工具
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/8010857.html
Copyright © 2011-2022 走看看