学习JAVA打卡第三十三天

匿名类

和子类有关的匿名类

假如没有显式地声明一个类的子类,而又想用子类创建一个对象,那么该如何实现这一目的呢?

Java允许我们直接使用一个类的子类的类体创建一个子类对象,也就是说,创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。匿名类就第一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。

假如Bank是类,那么下列代码就是用Bank的一个子类(匿名类)创建一个对象。

  new Bank{

       匿名类的类体

};

 

匿名类有如下特点:

⑴匿名类可以继承父类的方法也可以重写父类的方法。

⑵使用匿名类时,必然是在某一个类中直接用匿名类创建一个对象,因此匿名类一定是内部类。

⑶匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体中不可以声明static成员变量和static方法。

⑷由于匿名类是一个子类,但没有类名,所以用匿名类创建对象时,要直接使用父类的构造方法。

尽管匿名类创建的对象没有经过类声明的步骤,但匿名对象的引用可以传递给一个匹配的参数。

比如,用户程序中午有如下方法:

void  f (A  a){

 

今天就这些明天继续gogogo!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值