抽象类:
特点:
1.抽象方法一定定义在抽象类中,都需要用abstract修饰。
2.抽象类不能实例化,不能用new关键字创建对象。
3.只有子类覆盖了 所有的抽象方法后,子类具体化了,子类就可以创建对象。
如果没有覆盖所有的抽象方法,那么子类还是一个抽象类。
抽象类也是不断向上抽取而来的。抽取了方法的声明而不确定具体的方法内容。
由不同的子类来完成具体的内容。
问题:
1.抽象类中有构造方法吗?
有,抽象类的构造方法不能给抽象类对象实例化,因为抽象类不能创建对象,
但是抽象类有子类,它的构造方法可以给子类对象实例化。
抽象类和一般类的异同点?
相同:都是用来描述事物的,都可以进行属性和行为的描述。
不同:抽象类描述事物的信息不具体,一般类描述事物的信息具体。
代码的不同:
抽象类中可以定义抽象方法,一般类不行。
抽象类不可以实例化,一般类可以。
2.抽象类一定是一个父类吗?
是的,必须子类覆盖抽象方法后,才可以实例化,使用这些方法。
3.抽象类中可以不定义抽象方法吗?
可以的,仅仅是让该类不能创建对象。
4.抽象关键字abstract和那些关键字不能共存呢?
final :final修饰的类不能被继承,final修饰的方法不能被覆盖,而abstract修饰的类要想使用就必须被继承,abstract方法就必须被覆盖。
private :private修饰的方法私有,不能被覆盖。
static :静态修饰的方法能够通过类名.方法的格式调用,而调用一个抽象方法是没有意义的。
关注我的微信公众号(曲健磊