
java中final为什么不能修饰abstract的方法
2个回答
展开全部
final修饰参数:这意味着你无发改变参数所指向的对象。
final修饰方法:是把方法锁定,以防止任何继承它的类修改它的含义。这是出于设计的考虑,想要确保在继承中使用的方法保持不变,并且不会被覆盖。
final修饰类:表明了你不打算继承该类,而且也不也许别人这样做。出于某种考虑,你对该类的设计永不需要做任何变动,或者出于安全的考虑,你不希望他有子类。
abstract修饰类:会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
abstract修饰方法:会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分代替。需要子类继承实现(覆盖)。
final修饰不能够被改变
abstract修饰是需要被改变,这两个写在一起就是矛盾。
final修饰方法:是把方法锁定,以防止任何继承它的类修改它的含义。这是出于设计的考虑,想要确保在继承中使用的方法保持不变,并且不会被覆盖。
final修饰类:表明了你不打算继承该类,而且也不也许别人这样做。出于某种考虑,你对该类的设计永不需要做任何变动,或者出于安全的考虑,你不希望他有子类。
abstract修饰类:会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
abstract修饰方法:会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分代替。需要子类继承实现(覆盖)。
final修饰不能够被改变
abstract修饰是需要被改变,这两个写在一起就是矛盾。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |