java继承抽象类与普通类有什么区别?

如题所述

抽象类:
1、抽象类中可以有普通方法,如果想让方法子类必须实现,就弄成抽象方法。

2、如果抽象类中有抽象方法,那么这个类必须定义为抽象类。

3、抽象类不能被new。

普通类:
1、普通类中不能有抽象方法。

2、如果一个普通类实现了一个抽象接口或者抽象类,那么意味着必须重写抽象方法。

一、继承(extends)

继承是对现实生活中的"分类"概念的一种模拟。

狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"继承"关系的重要特性:通常简称为"IS_A"关系,UML类图可以这么表示:

继承的语法

class 子类名 extends 父类名 {

……

}

注意:

父类(parent class)和超类(super class):通常指直接上级;

基类(base class):通常指包括直接上级在内的"上级的上级";

例如:

子类自动拥有父类声明为public和protected的成员,这就是继承特性的体现之一。

继承条件下类的访问权限:

public:外界可自由访问

private:外界不可访问

protected:同一包中的子类都可以访问,另一包中的子类(派生于同一个父类)也可以访问

default:如果不指明任何权限,则默认同一包中的类可以访问

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-04
您好,提问者:
抽象类:
1、抽象类中可以有普通方法,如果想让方法子类必须实现,就弄成抽象方法。
2、如果抽象类中有抽象方法,那么这个类必须定义为抽象类。
3、抽象类不能被new。
普通类:
1、普通类中不能有抽象方法。
2、如果一个普通类实现了一个抽象接口或者抽象类,那么意味着必须重写抽象方法。