文章目录
一、Java抽象类 abstract
1、概念
被abstract修饰的方法叫抽象方法,被abstract修饰的类叫做抽象类。
可以有抽象方法和普通方法,抽象方法只有方法的声明,没有方法的主体。
2、作用
规范子类的行为。
3、注意
(1)抽象方法没有主体(没有大括号及里面的内容);
(2)抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例;
(3)抽象类中可以有普通的成员方法,但是不能通过自己的对象调用(目前不行),想要调用抽象类里面的普通方法,通过子类对象可以调用;
(4)如果一个类继承了一个抽象类,要么将子类也声明为抽象,要么将父类的抽象方法全部重写。
(5)抽象类也有构造函数。
抽象类Demo
抽象类父类
public abstract class Person{
String name;
int age;
//抽象方法
public abstract void eat();
public abstract void sleep();
//普通方法
public void speak() {
}
}
子类继承父类
public class Student extends Person{
public void eat(){
System.out.println("学生吃饭");
}
public void sleep(){
System.out.println("学生睡觉");
}
public void speak() {
System.out.println("学生交流");
}
}
主函数
public class Demo{
public static void main(String[] args) {
Student student = new Student();
student.eat();
student.sleep();
student.speak();
}
}