内部类

内部类

静态内部类

静态内部类是定义在另一个类里面的类,只不过在类的前面加了一个关键字static 静态内部类是不需要依赖外部类的。他不能使用外部类的非static成员变量或者方法。

成员内部类

成员内部类是最普通的内部类,它的定义位于另一个类的内部。
成员内部类可以无条件访问外部类的所有成员属性和成员方法。(包括private成员和静态成员)
要注意,当成员内部类拥有和外部类同名的变量或者方法时,回发现隐藏现象,即默认情况下访问的时成员内部类的成员,如果要访问外部类的同名成员需要以下面的形式进行访问
外部类.this.成员变量
外部类.this.成员方法

虽然成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问。

成员内部类是依附内部类而存在的,也就是说如果要创建成员内部类的对象,前提是必须存在于一个外部类的对象。

Class Hello{
	private int a = 10;
		
	Class World{
	public int b = 20;
	public void show(){
		System.out.println(a);
	}

	}




}


局部内部类

局部内部类定义在一个方法或者一个作用域里的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内。

匿名内部类

匿名内部类最方便,而且更加容易维护
匿名内部类不能有访问修饰符和static修饰符
匿名内部类是唯一一种没有构造器的类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值