A.抽象函数
只有函数定义,没有函数体.
eg: abstract void fun();
B.抽象类
1.抽象类不能被实例化生成对象.
2.当一个类中包含有抽象函数时,该类必须被声明为抽象类.
3.类中没有抽像函数时,也可被声明为抽象类,一般用于不想该类被实例化生成对象.
4.抽象类天生就是用来被继承的.抽象类的子类可以生成对象,但子类必须重写父类的抽象方法为非抽象方法.
abstract class Person{ String name; int age; abstract talk(String name,int age){ System.out.println("My name is " + name + ",and I'm " + age); } } class Student extends Person{ talk(String name,int age){ System.out.println("My name is " + name + ",and I'm " + age); } } class Test{ public static void main(String[] args){ Student s = new Student(); } }
5.抽象类可以有构造函数.因为其子类在生成对像是肯定会首先调用父类的构造函数,然后才调用自己的构造函数.