抽象类:要设计者依据它的格式,来修改并创建子类,作用有点类似于模板。
抽象类的定义规则:
- 抽象类和抽象方法都必须用abstract 关键字来修饰。
- 抽象类不能直接实例化,就是不能用关键字new直接创建对象。
- 在抽象类中,定义时抽象方法只需声明,而无需实现。
- 抽象类子类必须实现所有的抽象方法,才能不叫抽象类,从而被实例化。
- 一个子类只能继承一个抽象类。
抽象类的构造方法
抽象列同普通类一般,也有构造方法,但只写构造方法必须在子类中被调用,并且子类实例化对象的时候依然满足继承关系,先调用父类默认的构造方法,然后在调用子类的构造方法。
实现代码:
package Abstractpackage;
import java.lang.ref.Cleaner;
abstract class Person{
String name;
int age;
String occupation;
public Person(String name, int age, String occupation){//父类的一个构造方法
this.name = name;
this.age = age;
this.occupation = occupation;
}
public abstract String talk(); //声明一个抽象方法
}
class Student extends Person{
public Student(String name, int age, String occupation){
super(name, age, occupation);
}
public String talk()
{
return "学生----->姓名:"+name+",年龄:"+age+",职务:"+occupation;
}
}
public class AbstractClassDemo {
public static void main(String []args){
Student student =new Student("Frank",19,"student");
System.out.println(student.talk());
}
}