静态内部类

1.内部类 内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称
   为外部类。  
   作用:
   1) 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该
       类
   2) 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
   3) 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

2.静态内部类
   细节:
   1) 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 
   2) 外部类的静态成员与内部类的成员名称相同,通过“类名.静态成员”访问外部类的静态成员;
   3) 外部类的静态成员与内部类的成员名称不相同,直接成员名调用
   4) 创建静态内部类的对象时,不需要外部类的对象,可以直接创建: 内部类 对名= new 内部类();

 

代码演示:

//外部类
public class JingTaiNeiBuLei {

	private int a = 66;		//外部类封装变量
	static int b = 3;	//外部类静态变量
	static int c = 4;
	
/********************************************************************************/	
	
	//内部类
	public static class XInner{
		int b = 2;	//内部类的变量
		//内部类方法
		public void print() {
			//外部类的静态成员与内部类的成员名称相同,通过“类名.静态成员”访问外部类的静态成员;
			System.out.println("外部类静态变量" + JingTaiNeiBuLei.b);
			System.out.println("内部类变量" + b);
			//外部类的静态成员与内部类的成员名称不相同,直接成员名调用
			System.out.println("外部静态变量" + c);
			// 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 
			System.out.println("外部类非静态变量" + new JingTaiNeiBuLei().a);
		}
		
	}
	
/********************************************************************************/	
	
	public static void main(String[] args) {
		//创建静态内部类的对象时,不需要外部类的对象,可以直接创建 : 内部类 对象名= new 内部类();
		XInner work1 = new XInner();
		work1.print();
	}

}

运行结果:

外部类静态变量3
内部类变量2
外部静态变量4
外部类非静态变量66

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值