问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

匿名内部类重写的方法是怎么调用的

发布网友 发布时间:2022-04-30 16:22

我来回答

1个回答

热心网友 时间:2022-06-27 08:57

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。
public class TestAnonymousInterClass{
public static void main(String args[]){
TestAnonymousInterClass test=new TestAnonymousInterClass();
test.show();
}
//在这个方法中构造了一个匿名内部类
private void show(){
Out anonyInter=new Out(){// 获取匿名内部类实例

void show(){//重写父类的方法
System.out.println("this is Anonymous InterClass showing.");
}
};
anonyInter.show();// 调用其方法
}
}

// 这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现
class Out{
void show(){
System.out.println("this is Out showing.");
}
}
程序运行的输出结果为:

this is Anonymous InterClass showing.

所以在这里看出,匿名内部类有了自己的实现。其实很简单,使用匿名内部类是因为我这地方需要有点什么特殊的实现,所以我就在这地方把具体实现也给了出来了。然后我就在这地方获取它的实例,调用它的方法。
接口的方式,只要把父类换成接口就行了,没必要给出代码了。

使用匿名内部类时我们不要忘了我们的目的,我们只是在这地方想对某个类有特殊的实现。而不要想得太多,在匿名内部编写其它的方法。在匿名内部类中编写的自己的方法是不可见的。此种做法是毫无意义的,当然一般也不会这么做。在这里只是告诉初学者对于匿名内部类不要想的太多,而要这么想:匿名内部类就是重写父类或接口的方法。

匿名内部类是没有名字的,所以我们没办法获得其类型,而只能把它当作超类或接口类型来使用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 为什么联想笔记本的电源标志出现红叉,早上还好好的晚 妈妈生病住院心情怎么发朋友圈? 在Java里一个类中重写另一个类怎么弄啊? 我的电脑电池上有个红叉,还一闪一闪的 怎么回事? AM3支持E52620吗? 生病了体重正常怎么发朋友圈 java方法重载是指一个类中的,方法重写是不同类中的,对吗? 联想笔记本电脑问题:右下角电池上有个红叉叉,10年买的,是电池寿命到了吗,需要更换电池? 有限合伙人退伙的情形是什么 java中重写一类的构造方法并在构造方法内调用本类普通方法 我的联想电脑电池图标上有一个红叉,但显示是电源已接通,正在充电, 我的联想笔记本电脑插上适配器充电时右下电源一直显示红叉叉,无法充电,以至于完全没电无法开启 C#为什么要引入方法重写的机制?用什么意义和一般用途 普通合伙企业的退伙条件 有限合伙人退伙的情形有哪些 请问联想笔记本电脑一直提示我要更换电池是什么问题,有个红叉在电池 可以退伙退约的情形有哪些 thinkpad sl410k 电池上出现了一个红叉叉怎么办? java关于方法重载和方法重写 thinkpad 笔记本 电池显示红叉 什么情况?如何解决? e5 2620v2能上外星人x79主板吗? E5-2620和E3 1230 V2哪个好 配什么主板最好 生病不舒服怎么发朋友圈 java 子类重写了一个方法,如何在父类中调用? 求继承,方法重写,方法重载的作用和什麼时候使用它们? 华硕H110M-K支持e5 2620吗? java重写,java为什么要重写呢?重写的意义是什么,在子类里重建一个方法不行吗?有什么影响呢? E5 2620 和E5 2650L可以通用一个板子吗? 在继承中,如何实现属性重写与方法重写的定义、使用? E52620v3用支持什么主板 java里重写某个方法后为什么在重写的方法里还要调用父类的该方法? 微星b85m ie35能用志强E5 2620处理器吗? 怎么去掉花生油的哈喇味? 手提电脑拔了电源电脑就卡怎么回事? 花生油变味了怎么处理 安卓手机如何撤销ROOT权限 笔记本电脑拔下电源线后变卡怎么回事 笔记本拔掉电源的一瞬间会变卡 是正常现象吗 HUAWEI Mate X2 新一代折叠旗舰,升级HarmonyOS 2看视频怎么样全屏? 熟花生油异味怎样处理