1.什么是抽象函数
只有函数的定义,没有函数体的函数
abstract void fun();
2.什么是抽象类
使用abstract定义的类被称之为抽象类
(1)抽象类不能够生成对象
(2)如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类
(3)如果一个类当中没有抽象函数,那么这个类也可以被声明为抽象类
3.子类继承抽象父类,可以通过重写父类中抽象函数的方式避免成为抽象类
4.抽象类可以有构造函数吗?
抽象类可以有构造函数,可以在生成子类对象的时候被调用
abstract class Person{
Person(){
System.out.println("Person的构造函数");
}
Person(String name,int age){
this.name = name;
this.age = age;
}
String name;
int age;
void introduce(){
System.out.println("我的名字是:" + name + ",我的年龄是:" + age);
}
abstract void eat();
}
class Chinese extends Person{
Chinese(){
super();//不写时系统会默认加上
System.out.println("Chinese的构造函数");
}
Chinese(String name,int age,String address){
super(name,age);
this.address = address;
}
void eat(){
System.out.println("用筷子吃饭");
}
}
public class Test23{
public static void main(String[] args){
Person p = new Chinese();
p.eat();
}
}