Java面向对象-内部类

定义:在类的内部定义的类
优点:方便的使用外部类的属性
缺点:破坏类的基本结构,建议慎用
使用场合:提供更好的封装,只为了服务外部类
作用
1.为外部类提供方便
2.内部类可直接访问外部类的私有属性,但外部类不能直接访问内部类的属性

分类:
(1)成员内部类
成员内部类又分为静态内部类(static修饰)和普通内部类
静态内部类使用时可以不经过外部类,但只能调用外部类的静态属性
普通内部类使用时必须经过外部类

调用内部类局部属性:属性
调用内部类成员属性:this.属性
调用外部类成员属性:外部类.this.属性

(2)匿名内部类
没有名字的内部类,适用于只需要使用一次的类,如键盘监听…

(3)成员内部类,定义在方法中的类,基本用不上

//外部类Outer
public class Outer {
	private int a=1;
	//内部类Inner
	class Inner{
		public void show() {
			System.out.println(a);//可以方便的使用外部类的私有属性
		}
	}
	
	public void show() {
		Inner inner=new Inner();
		inner.show();
	}
	
	public static void main(String[] args) {
		Outer outer=new Outer();
		outer.show();
	}
}

上述代码中,外部类间接的使用了内部类里的方法
下面写一个直接使用内部类里的方法的实例

//外部类Outer
public class Outer {
	private int a=1;
	//内部类Inner
	class Inner{
		public void show() {
			System.out.println(a);//可以方便的使用外部类的私有属性
		}
	}
	
	public static void main(String[] args) {
		Outer.Inner inner=new Outer().new Inner();
		inner.show();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值