如果父类没有带参构造函数则无所谓,如果带参,还需如下: public class TestParent{public TestParent(long l) { }}abstract class TestChild extends TestParent {public TestChild(long l){super(l);} }
抽象类可以实现接口,并且可以继承实体类 //接口类 public interface Act{ public void go(); } 2、Chinese.java//实体类 public class Chinese{ public void getAge() ...{ System.out.println("entity class."); }} 3、Person.java//抽象类可以实现接口,并且可以继承实体类。 public abstract class Person extends Chinese implements Act{ public void run(){ System.out.println("run"); } public abstract void jump();}4、Test.java public class Test extends Person { // Act中的方法 public void go() { System.out.println("go"); } // Person中的方法 public void jump(){ System.out.println("jump"); } public static void main(String[] args) { Test t = new Test(); t.go(); t.run(); t.jump(); t.getAge(); // Chinese中的方法 } }
如果父类无明确构造函数或有无参数构造函数,抽象类可以随意。抽象类的父类可以定义明确的带参数构造函数,抽象类也必须继承从而声明该构造函数。
另外抽象类也可以增加定义无参数的构造函数,从而使自己的子类无需声明明确的构造函数。
如果父类没有带参构造函数则无所谓,如果带参,还需如下:
public class TestParent{public TestParent(long l)
{
}}abstract class TestChild extends TestParent
{public TestChild(long l){super(l);}
}
//接口类
public interface Act{
public void go();
}
2、Chinese.java//实体类
public class Chinese{ public void getAge() ...{
System.out.println("entity class.");
}}
3、Person.java//抽象类可以实现接口,并且可以继承实体类。
public abstract class Person extends Chinese implements Act{ public void run(){
System.out.println("run");
} public abstract void jump();}4、Test.java public class Test extends Person { // Act中的方法
public void go() {
System.out.println("go");
} // Person中的方法
public void jump(){
System.out.println("jump");
} public static void main(String[] args) {
Test t = new Test();
t.go();
t.run();
t.jump();
t.getAge(); // Chinese中的方法
}
}