1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java 接口向上转型_转载 - java中接口的向上转型。和多态性

java 接口向上转型_转载 - java中接口的向上转型。和多态性

时间:2019-10-28 06:57:29

相关推荐

java 接口向上转型_转载 - java中接口的向上转型。和多态性

发现一篇对接口总结很精简的文章

1.在java中接口就是一个完全抽象的类,跟抽象类一样不能产生对象,但是可以作为对象的引用,可以由其实现类向上转型,它就跟超类一样,

向上转型了,可以很好的利用接口,可以调用接口中的所有在实现接口类中的方法.而不能把引用指向,接口(或者超类)中没有的方法,

2.接口定义中默认的都是public abstract的方法

当实现接口的时候方法必须是public 并前要实现接口中出现的所有方法。

例如:

public interface A

{

void fun();//默认的就是public abstract;

void run();

}

//实现接口

public Animals implements A

{

public void fun(){};

public void run(){};//必须实现这两个方法,必须声明是public

public void sleep(){};//也可以写自己的方法,但是于接口无关,

}

public class C

{

static void funner(A an)//可以向上转型为A,只要是实现了A这个接口的类都可以转型

{

an.fun();

an.run();

//注意不能调用sleep();因为sleep()在接口中没有,不能向下转型,不能调用接口中没有的方法.

}

}

其实继承跟接口的这种向上关系差不多.

只是实现接口的类必须实现接口中所有的方法,而继承中的方法不会,只是会出现覆盖.

不覆盖,子类中没有,就会调用基类的!

字段是没有多态性的,static 和final同样也不具有多态性,.

多态的产生是后期绑定,根据后期绑定判定类型,

多态就是开始附加某种类型,通过后期绑定判断,

如果是继承里面就看子类是否覆盖了父类的方法(非static方法和非private).

如果覆盖了就调用子类的,没覆盖就调用基类的

原文链接:/s/blog_80769be70100vify.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。