好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java抽象类的概念讲解

简单来说

抽象类 通常用来作为一个类族的最顶端的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性。用abstract关键字类修饰一个类,该类叫做抽象类。

有抽象类那么肯定也有抽象方法,什么是抽象方法呢?

抽象方法就是有名字,形参列表,返回值,没有方法体的方法就做抽象方法。

抽象方法和抽象类的关系?

凡是没有方法体的方法必须使用关键字abstract修饰为抽象方法。

凡是含有抽象方法的类必须声明为抽象类。

?

1

2

3

4

5

6

7

8

abstract class a{

  abstract public void f(); //有抽象方法的一定是抽象类

}

abstract class b{

  public void f(){

//抽象类不一定有抽象方法

}

}

我们从举例中可以看出a类方法中没有方法体,因此使用了关键字abstract并且a类也必须声明为抽象类。

抽象类中的多态:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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();

}

}

总结

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

原文链接:https://blog.csdn.net/mumu1998/article/details/81206664

查看更多关于Java抽象类的概念讲解的详细内容...

  阅读:9次