抽象类能不能有构造函数?

众所周知,抽象类不能够实例化对象,而构造函数就是用来生成对象的,那抽象类能不能有构造函数?

答案是肯定的,所有类都可以有自己的构造函数!

虽然抽象类自己不能实例化对象,但是他的子类(继承类)可以用super调用父类的构造函数。

package com.pw.demo; public abstract class Person { private String name; public Person(String name){ this.name=name; } public abstract void eat(); class Chinese extends Person{ private String address; public Chinese(String name,String address) { super(name); this.address=address; } @Override public void eat() { // TODO Auto-generated method stub } } }