Java抽象类的概念讲解

简单来说

抽象类通常用来作为一个类族的最顶端的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性。用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();
}
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。