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

tec*_*uri 13 java inheritance

扩展派生类时,抽象类和非抽象类之间有什么区别?我都没有使用方法覆盖和抽象方法(即抽象类).我只是继承了这些属性.什么和为什么喜欢上课?

例如:

代码1:

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

class b extends a { 
    ...
}
Run Code Online (Sandbox Code Playgroud)

代码2:

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

class b extends a { 
    ...
}
Run Code Online (Sandbox Code Playgroud)

aio*_*obe 14

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

抽象类可能有抽象方法.抽象方法是没有实现的方法,这些方法必须由子类实现(除非你的子类也是抽象的).

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


Dan*_*ert 0

实际上它们是相同的,但是你不能实例化抽象类。因此,如果您希望没有人尝试实例化您的类,您需要将其设为抽象类。