标签:
静态内部类是static修饰的内部类
静态内部类的特点:
1.静态内部类不能直接访问外部类的非静态成员,但是可以通过new 外部类().成员的方式访问;
2.如果外部类中的静态成员和静态内部类中的成员名称相同,可以通过类名.静态成员访问外部类的静态成员,
如果外部类中的静态成员和静态内部类中的成员名称不同,则可直接通过静态成员名称访问外部类的静态成员;
3.创建静态内部类的对象时不需要外部类的对象,直接用 静态内部类 对象名= new 静态内部类();
1 package com.imooc.test003; 2 3 public class Outer { 4 5 private int a = 10;//外部类的普通成员变量 6 private static int b = 20;//外部类的静态成员变量 7 private static int c = 30;//外部类的静态成员变量 8 9 //内部类Inner 10 public static class Inner{ 11 12 private int b = 40; 13 14 public void test(){ 15 System.out.println("访问外部类中的普通成员变量a:" + new Outer().a); 16 System.out.println("访问外部类中与内部类中成员变量同名的静态成员变量b:" + Outer.b); 17 System.out.println("访问内部类中的普通成员变量b:" + b); 18 System.out.println("访问外部类中与内部类中成员变量不同名的静态成员变量c:" + c); 19 } 20 21 } 22 23 public static void main(String[] args){ 24 Inner in = new Inner();//创建内部类的对象 25 in.test(); 26 } 27 28 }
参考:慕课网(http://www.imooc.com/)
标签:
原文地址:http://www.cnblogs.com/jinjiyese/p/4549577.html