java - 扩展抽象类和非抽象类有什么区别?

标签 java inheritance

抽象类和非抽象类在扩展派生类时有什么区别?这两个类我都没有使用方法覆盖和抽象方法(即抽象类)。只是我继承了属性。什么以及为什么更喜欢这门课?

例如:

代码 1:

abstract class a {  
    protected int empnno; 
    protected String empname; 
} 

class b extends a { 
    ...
}

代码 2:

class a {  
    protected int empnno; 
    protected String empname; 
}

class b extends a { 
    ...
}

最佳答案

what is difference to extend abstract class and non abstract class?

抽象类可能有抽象方法。抽象方法是没有实现的方法,这些必须由您的子类实现(除非您也将子类设为抽象)。

由于您的 a 类没有抽象方法,因此从子类的角度来看没有任何区别。 (唯一的区别是,如果 a 是抽象的,它可能不再按原样实例化。它可能只能根据子类实例化。)

关于java - 扩展抽象类和非抽象类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064322/

相关文章:

java - 生产者 - 消费;消费者如何停止?

java - 如何将 RecyclerView LayoutManager 从列表更改为网格?

Java方法: retrieve the inheriting type

java - 父类(super class)构造函数实际上指的是什么?类或该类的对象(或两者都不是?)

java - libgdx: Sprite 像玻璃一样 splinter

java - Jdeveloper vs java/j2ee/js+extjs?

java - 如何使用 Java 轻松解析 HTML 以作为服务使用?

java - 如何调用抽象类方法

scala - 特征中的抽象字段(Scala)-构造顺序

Java接口(interface)继承与实现