抽象类可以实现接口,并且可以继承实体类 (接口可以继承接口)
任何抽象类都是实际类Object的子类。
如果父类无明确构造函数或有无参数构造函数,抽象类可以随意。
抽象类的父类可以定义明确的带参数构造函数,抽象类也必须继承从而声明该构造函数。
另外抽象类也可以增加定义无参数的构造函数,从而使自己的子类无需声明明确的构造函数。
一。当父类无构造函数时:
- Java code
1.接口Act
-
// 接口类
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中的方法
}
}
二。父类带构造函数时:
如果父类没有带参构造函数(如上)则无所谓,如果带参,还需如下:
如果父类没有带参构造函数(如上)则无所谓,如果带参,还需如下:
- Java code
-
public class TestParent{
public TestParent( long l)
{
}
}
abstract class TestChild extends TestParent
{
public TestChild( long l){ super (l);}
}