Java--内部类

1.定义:内部类是定义在另一个类中的类,就是类中类

2.为什么使用:(1)内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。

(2)内部类可以对同一个包中的其他类隐藏起来

(3)当想要定义一个回调函数且不想编写大量代码时,用匿名内部类比较便捷

3.内部类的特殊语法规则

内部类中声明的所有静态域必须是final

内部类不能有static方法

局部内部类中的局部变量必须是final

局部内部类不能用public 或private进行声明

局部内部类减少了需要显式编写的实例域,从而使内部类更加简单

匿名内部类不能有构造器,取而代之的是将构造器参数传递给超类构造器

注意:静态方法属于类不属于对象

4.内部类种类:
普通内部类:简单的类中类

局部内部类:

public class A{

....
public void method(){

 class B xxx{

public void methoda(){

xxxxxx
}
}
}

}

匿名内部类:

public class A{

....
public void method(){

 {

public void methoda(){

xxxxxx
}
}
}

}

静态内部类:
应用场景:

使用内部类只是为了把一个类隐藏在另一个类的内部,并不需要内部类引用外围类对象。为此可以将内部类声明为static,以便取消引用

public class A{

....


public static class B xxx{

public void methoda(){

xxxxxx
}
}


}

注释:

在内部类不需要访问外围类对象的时候,应该使用静态内部类。有些程序员用嵌套类表示静态内部类

与常规内部类不同,静态内部类可以有静态域和方法

声明接口中的内部类自动成为static和public类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值