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

    静态内部类的定义

    静态内部类的格式:

      访问修饰符 class 外部类的类名{

        访问修饰符 static class 内部类的类名{

          内部类的类体;

        }

      }

    使用静态内部类:

      使用static关键字提升至类层级,访问成员变量直接使用类名.即可;以下代码可看出如果访问外部类的静态成员使用外部类.

    访问内部类的静态成员使用内部类.  如静态内部类需访问外部普通成员必须先创建对象引用该类普通成员变量

      (重点)可以使用在静态内部类使用show3的方法访问外部普通成员变量

    package com.lagou.task10;

    /**
    * 实现静态内部类的定义和使用
    */
    public class StaticOuter {
    private static int cnt = 1;
    private int snt = 2;

    /**
    * 定义静态内部类 有static关键字修饰隶属于类层级
    */
    public static class StaticInner {
    private int ia = 3;
    private static int cnt = 10;
    public StaticInner(){
    System.out.println("静态内部类的构造方法啊!");
    }
    public void show(){
    System.out.println("ia = " + ia);
    System.out.println("cnt = " + cnt);
    StaticOuter so = new StaticOuter();
    System.out.println("snt = " + so.snt);
    }
    public void show2(int cnt){
    System.out.println("形参变量是:" + cnt);
    System.out.println("静态内部类变量是:" + StaticInner.cnt);
    System.out.println("外部类静态变量是:" + StaticOuter.cnt);
    }
    public void show3(){
    System.out.println(new StaticOuter().snt);
    }
    }
    }
    package com.lagou.task10;

    public class StaticOuterTest {
    public static void main(String[] args) {
    StaticOuter.StaticInner si = new StaticOuter.StaticInner();
    si.show();
    si.show2(20);
    }
    }

     静态内部类的使用方式

      静态内部类不能直接访问外部类的非静态成员。

      静态内部类可以直接创建对象。

      如果静态内部类访问外部类中与本类(里面存在的)同名成员变量或方法时,需要使用类名.的方式访问。

  • 相关阅读:
    es5和es6的区别
    如何将word文档内容在网页显示方法
    实现在线浏览PDF文件的方法
    移动端开发兼容问题
    常见的浏览器兼容问题和解决方法
    弹层
    猜数字游戏
    米字格画布
    时钟制作
    关于屏幕高度
  • 原文地址:https://www.cnblogs.com/xujiaqi/p/13636518.html
Copyright © 2011-2022 走看看