java的四种内部类

什么是内部类?

	内部类就是写在外部类中的类,或者类的方法中的类。

为什么要使用内部类?

	每一个内部类都可以单独实现一个接口,
	 外部类是否实现了接口对内部类继承实现没有影响。
	内部类使多重继承的方案变得完整。

使用内部类的一些注意事项

	    //在内部类内调用外部类的方法
    //如果与外部类有同名方法,需要outclass.this.method
    //如果不是同名方法可以直接调用

内部类实例化的方法

    Outclass o = new Outclass();
    Outclass.Innerclass i = o.new Innerclass();  //内部类的创建对象的方式

	外部类无法调用内部类私有的方法属性

1,成员内部类

	成员内部类内部不允许存在任何static变量或方法 
	正如成员方法中不能有任何静态属性
	成员内部类可以访问外部类所有的变量和方法,
	包括静态和非静态,私有和公有。成员内部类依赖于外部类的实例
	,它的创建方式外部类实例.new 内部类()
	 (成员方法与对象相关、静态属性与类有关)
	 
	成员内部类是依附外部类的,只有创建了外部类才能创建内部类。

2,静态内部类

	静态内部类不可以使用任何外部类的非static类(包括属性和方法)
	,但可以存在自己的成员变量。

3,方法内部类

	方法内部类不允许使用访问权限修饰符(public、private、protected)均不允许。
	方法内部类对外部完全隐藏
	方法内部类如果想要使用方法形参,该形参必须使用final声明

4,匿名内部类

			匿名内部类就是一个没有名字的方法内部类,
			因此特点和方法与方法内部类完全一致,除此之外,还有自己的特点:
1.匿名内部类必须继承一个抽象类或者实现一个接口。
2.匿名内部类没有类名,因此没有构造方法。

内部类可以直接访问外部类的元素(包括私有域)—外部类在内部类之前创建,创建内部类时会将外部类的对象传入
内部类是一个相对独立的个体,与外部类没有关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值