比如我想买件衣服,我只是想买衣服而已,但还没确定是买白色的衣服还是蓝色的衣服,也还没确定是要买短袖还是长袖的衣服。
用到java上,就比方,我要定义一个方法和类。但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口。
(1)凡是用abstract 修饰符修饰的类被称为抽象类。凡是用abstract修饰符修饰的成员方法被称为抽象方法。
(2)抽象类中可以有零个或多个抽象方法,也可以包含非抽象的方法。
(3)抽象类中可以没有抽象方法,但是,有抽象方法的类必须是抽象类。
(4)对于抽象方法来说,在抽象类中只指定其方法名及其类型,而不书写其实现代码。
(5)抽象类可以派生子类,在抽象类派生的子类中必须实现抽象类中定义的所有抽象方法。
(6)抽象类不能创建对象,创建对象的工作由抽象类派生的子类来实现。
(7)如果父类中已有同名的abstract方法,则子类中就不能再有同名的抽象方法。
(8)abstract不能与final并列修饰同一个类。
(9)abstract 不能与private、static、final或native并列修饰同一个方法。
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。
抽象类和一般类没有太大的不同。
该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂得东西。
这些不缺钉部分,也就是该事物 的功能,需要明确出现,但是无法定义主体。
通过抽象方法表示
抽象类比一般类多了抽象函数,就是在类中可以定义抽像方法。
抽象类不可以实例化。
特殊:抽象类中可以定义抽象方法,这样做仅仅是不让该类建立对象。
bstract class Student
{
abstract void study()
}
class BaseStudent extends Student
{
void study()
{
System.out.println("base study");
}
}
{
void study()
{
System.out.println("adv study");
}
}
class AbstractDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}