问题:

  1. 构造器可以被 static final abstract 修饰嘛?为什么?

一。构造器

  1. static:JAVA中静态的东西都是属于类的,为类服务,构造函数是为了初始化对象,为对象服务。构造函数是用来生成实例,既然是实例就不是static的。这两者是相互矛盾的

  2. final:构造器是不允许被继承,不允许被重写的。而 final 的作用就是防止函数被重写,所以构造器自己就有这功能,就不必画蛇添足了。

  3. abstract:abstract 修饰的方法没有函数体,还要在子类中重写。然而在 new 对象的时候就会自动调用构造器,因此必须要有一个函数体(矛盾一)。此外构造器不能被重写。