Java面向对象5-抽象类

abstract修饰类:抽象类

  >此类不能实例化

  >抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)

  >开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作

 

abstract修饰方法:抽象方法

  >抽象方法只有方法名称,没有方法体

  >若子类重写了父类中的所有的抽象方法后,此子类方可实例化

    若子类没有重写父类中的所有的抽象方法,则该子类也为抽象类

 

 1 public class AbstractTest {
 2     public static void main(String[] args) {
 3         Student stu1 = new Student("zyx", 18);
 4         stu1.eat();
 5     }
 6 }
 7 
 8 abstract class Person{
 9     String name;
10     int age;
11 
12     public Person(){
13     }
14 
15     public Person(String name, int age){
16         this.name = name;
17         this.age = age;
18     }
19 
20     public abstract void eat();
21 
22     public abstract void walk();
23 }
24 
25 
26 class Student extends Person{
27     public Student(String name, int age){
28         super(name, age);
29     }
30 
31     @Override
32     public void eat() {
33         System.out.println("学生吃饭");
34     }
35 
36     @Override
37     public void walk() {
38         System.out.println("学生走路");
39     }
40 }

 

  >包含抽象方法的类,一定是抽象类;反之不然。

 

posted @ 2022-05-10 17:02  草莓小甜心  阅读(38)  评论(0)    收藏  举报