Java中那些我不太明白的小知识(二)

接(一)

三、多态

什么是多态?

目前我的理解:在一个类中拥有一个方法,用不同的对象调用这个方法会有不同的效果
官方解释:父类的引用指向子类的对象,举个例子说明

更通俗的解释:在lol中 同样按下Q键,亚索的Q是斩钢闪,女警的Q是和平使者,这就是同一件事发生在不同对象上产生的不同的效果

eg:

Son son = new Father(“儿子”);
Child chl = new Father(“孩子”);

当前Father的两个字类Son Child分别创建了两个对象都指向父类,因为Son和Child中都存在着些许相同的功能,为了简化程序开发,不必再写过多的代码,利用父类所编写好的方法,直接在子类中调用即可。

多态的存在必须满足三个条件:继承,重写,父类引用指向子类的对象

四、匿名内部类

首先说明什么是内部类:顾名思义,在类内再创建一个类

什么是匿名类:没有名字,但是没有名称就说明其他地方不能引用,而且不能实例化

匿名内部类的条件:必须继承一个父类或者实现一个父接口,且匿名内部类不能是抽象类

演示代码:

//首先定义一个接口
interface A{
	void testA();
}
package one;

public class Demo2 {
public static void main(String[] args) {
	A a = new A() {
		//{} 大括号相当于一个class,并且这个类没有名字,这个class遵从了接口A
		@Override
		public void testA() {
			System.out.println(匿名内部类出现了!);
			
		}
	
	};
}
}

以上就是匿名内部类的解释

发布了4 篇原创文章 · 获赞 3 · 访问量 52

猜你喜欢

转载自blog.csdn.net/weixin_42597414/article/details/104486623
今日推荐