[Java] Java 中的静态内部类

[复制链接]

51

主题

56

帖子

283

积分

版主

代码控

Rank: 7Rank: 7Rank: 7

积分
283

突出贡献优秀版主荣誉管理

QQ
211 0 joy 发表于 2016-12-30 13:50:49

  静态内部类是 static 修饰的内部类,这种内部类的特点是:
  1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问

  2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;
  如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

  3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
  1. // 外部类
  2. public class SOuter{
  3.     private int a = 99; // 外部类的私有变量
  4.     static int b = 1; // 外部类的静态变量
  5.     // 静态内部类
  6.     public static class SInner{
  7.         int b = 2; // 内部类的变量
  8.         public void test(){
  9.             System.out.println("访问外部类中的b:" + SOuter.b);
  10.             System.out.println("访问内部类中的b:" + b);
  11.         }
  12.     }
  13.     // 测试静态内部类
  14.     public static void main(String[] args){
  15.         SInner si = new SInner(); // 直接创建内部类的对象
  16.         si.test(); // 调用test方法
  17.     }
  18. }
复制代码


  运行结果:
  1. 访问外部类中的b:1
  2. 访问内部类中的b:2
复制代码


夜深人静之时,头发斑白的老程序员会蜷缩在床上,欣赏一段精彩的子程序,或者苦思冥想一个绝妙的宏结构;而那些年少轻狂的程序员,则可能正在通过终端与别人聊得不亦乐乎。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本专栏主要提供Java相关技术的学习交流。望大家积极踊跃发言,共建一个良好的学习环境!
  • 今日
    0
  • 主题
    365

推荐阅读

精选帖子

Archiver|手机版|小黑屋| 极客社区 ( 京ICP备14042200号-2 )

Powered by 张董丶 X3.2 © 2016-2026

返回顶部 返回列表