abstract、static、final都不能用于修饰构造方法

此生辽阔 2021-04-08 10:18:35
abstract:抽象方法只有方法的声明,没有方法的实现,实现部分让子类完成;但是构造方法是不能被子类继承,如果构造方法被abstract修饰,则子类无法完成构造方法的实现内容。那么abstract修饰的这个方法将毫无作用,个抽象的构造器将永远不会被实现,所以它也不能声明为abstract的


static:static和对象没有关系,但是构造方法是用于创建对象的,相互矛盾;同时static修饰的方法可以直接通过类名.静态方法名(实参);调用,但是构造方法不允许手动调用。构造器总是关联一个对象而被调用,所以把它声明为static是没有意义的

final:final方法是约束子类不能覆盖,但是构造方法本身不允许子类继承。谈不上覆盖。(构造方法不是通过覆盖得到的,所以没必要用final修饰) 构造器不是通过继承得到的,所以没有必要把它声明为final的
...全文
758 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
中才德创 2021-04-18
  • 打赏
  • 举报
回复
细想确实如此!
冰思雨 2021-04-08
  • 打赏
  • 举报
回复
楼主说的对。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧