抽象类:

1.含有抽象方法的类叫抽象类, 在类中定义了抽象方法就必须在类的前面加上abstract关键字

abstract class TestClass{

abstract void show\(\);

}

class SubClass extends TestClass{

void show\(\){

    System.out.println\("SubClass"\);

}

}

public class Test10 {

public static void main\(String\[\] args\) {

    // TODO Auto-generated method stub

    TestClass tc = new SubClass\(\);

    tc.show\(\);

}

}

2.在定义的类前加abstract来定义抽象类.类里面的方法可以不是抽象方法. 如果不是抽象方法,就是提供一个default的默认行为给子类进行使用,子类可以根据自己的情况看是否使用父类里面的默认行为.

abstract class TestClass{

void show\(\){

    System.out.println\("TestClass"\);

}

}

class SubClass extends TestClass{

}

public class Test10 {

public static void main\(String\[\] args\) {

    // TODO Auto-generated method stub

    TestClass tc = new SubClass\(\);

    tc.show\(\);

}

}

3.抽象类不能实例化.

抽象方法:

没有实体的方法.

把共同性的放在父类,把差异性的放在子类.

抽象方法的反向调用:这个就是设计模式里面的 模板模式.

Java里面的函数默认都是虚拟函数.

Java默认的函数就是相当于C++中虚函数(virtual ,eg: virtual void show(){xxxx}).

Java中的abstract抽象函数就相当于C++中pure 虚函数(pure virtual,eg: virtual void show()=0;)C++中含有pure virtual函数叫抽象类.

results matching ""

    No results matching ""