springboot其实就是springJava中匿名类的两种实现⽅式
使⽤匿名内部类课使代码更加简洁、紧凑,模块化程度更⾼。内部类能够访问外部内的⼀切成员变量和⽅法,包括私有的,⽽实现接⼝或继承类做不到。然⽽这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现⽅式:第⼀种,继承⼀个类,重写其⽅法;第⼆种,实现⼀个接⼝(可以是多个),实现其⽅法。下⾯通过代码来说明:
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.
所以在这⾥看出,匿名内部类有了⾃⼰的实现。其实很简单,使⽤匿名内部类是因为我这地⽅需要有点什么特殊的实现,所以我就在这地⽅把具体实现也给了出来了。然后我就在这地⽅获取它的实例,调⽤它的⽅法。
接⼝的⽅式,只要把⽗类换成接⼝就⾏了,没必要给出代码了。
使⽤匿名内部类时我们不要忘了我们的⽬的,我们只是在这地⽅想对某个类有特殊的实现。⽽不要想得太多,在匿名内部编写其它的⽅法。在匿名内部类中编写的⾃⼰的⽅法是不可见的。此种做法是毫⽆意义的,当然⼀般也不会这么做。在这⾥只是告诉初学者对于匿名内部类不要想的太多,⽽要这么想:匿名内部类就是重写⽗类或接⼝的⽅法。
匿名内部类是没有名字的,所以我们没办法获得其类型,⽽只能把它当作超类或接⼝类型来使⽤。
以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论