简单来说
抽象类通常用来作为一个类族的最顶端的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性。用abstract关键字类修饰一个类,该类叫做抽象类。
有抽象类那么肯定也有抽象方法,什么是抽象方法呢?
抽象方法就是有名字,形参列表,返回值,没有方法体的方法就做抽象方法。
抽象方法和抽象类的关系?
凡是没有方法体的方法必须使用关键字abstract修饰为抽象方法。
凡是含有抽象方法的类必须声明为抽象类。
abstract class a{ abstract public void f();//有抽象方法的一定是抽象类 } abstract class b{ public void f(){ //抽象类不一定有抽象方法 } }
我们从举例中可以看出a类方法中没有方法体,因此使用了关键字abstract并且a类也必须声明为抽象类。
抽象类中的多态:
abstract class a{ abstract public void f(); } class b extends a{ public void f(){ system.out.println("bbb"); } } public class text{ public static void main(string[] args){ a aa=new a();//错误,抽象类不能实例化 b bb=new b();//ok bb.f()//ok a aa;//抽象类可以定义一个抽象类的引用,但是不可以定义一个抽象类对象。 aa=bb;//利用抽象类的引用指向真正实现的子类,再利用多态调用其子类方法。 aa.f(); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对移动技术网的支持。如果你想了解更多相关内容请查看下面相关链接
如对本文有疑问, 点击进行留言回复!!
NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser androi
关于启动appium-desktop,报错:Cannot extract apk info using apkanalyzer. Falling back to aapt. Original ....
Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
网友评论