天天看点

java编程思想——抽象类

一、抽象类

1、什么是抽象类

对于类的某个方法可以描述这个的某个特性。比如动物的跑等,但是不同的对象可能方法是不一样的。

这就需要对方法进行抽象。这样就可以根据不同的类的特点,进行继承,然后再对抽象的方法进行重写。

abstract class **

{

abstract void **();

}

2、抽象类的特点

(1)抽象类不可以被实例化

(2)抽象类的抽象方法只是被声明,不被实现。方法要被关键字abstract描述。抽象方法对应的抽象类,也要被abstract关键字描述。

(3)抽象类中被继承后,必须要把所有的抽象的方法进行实现。否则其还是抽象类,不能进行实例化。

3、抽象类一些问题

(1)抽象类有无构造函数

      抽象类是有构造函数的。抽象类会有子类,抽象类中的构造函数可以给子类进行初始化。

(2)抽象类中可以不定义抽象方法么?

      可以!

    很少见,目的就是不让其创建对象。

(3)抽象关键字不可以和哪些关键字共存?

private不可以,因为抽象方法要被覆盖,私有的方法不能被覆盖。

static不可以

final不可以

(4)抽象类和一般类的异同?

相同:都是描述类的

不同:抽象类只有声明,没有具体的描述。

            一般类中不能定义抽象方法,而抽象类中可以定义抽象方法。

(5)抽象类一定是一个父类么?

是的!需要子类覆盖其方法,才能进行实例化!