应该是必须复写抽象类中所有的抽象方法 ,但是不用复写抽象类中的非抽象方法 因为抽象类中的非抽象方法是可以被调用的。。。。- public class Test extends ClassB {//普通类继承抽象类
- public static void main(String[] args) {
-
- // 调用抽象类中的非抽象方法
- // Test t=new Test();//用已经继承抽象类的非抽象类实例化一个对象
- ClassB t = new Test();// 创建一个抽象类的对象,用来实例化继承抽象类的非抽象类
- t.print();
-
- //调用抽象类中的静态方法
- ClassB.f();
- Test.f();
-
- t.abstractfn();
- }
- @Override
- public void abstractfn() {
- // TODO Auto-generated method stub
- System.out.println("必须复写抽象类中抽象方法,否则此类也必须定义为抽象类");
- }
- }
- abstract class ClassB {
-
- public void print() {
- System.out.println("this is abstract ClassB print()...");
- }
- public abstract void abstractfn();
- public static void f() {
- System.out.println("this is abstract ClassB static f()...");
- }
- }
复制代码 |