天天看点

java抽象类和抽象方法之间的关系

抽象类和抽象方法之间的关系

有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法

当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类

因为子类是继承父类全部内容,所以也就相当于子类中也有了抽象方法,通过重写,可以将抽象方法覆盖。

抽象类的特点:必须有abstract关键字修饰,不可以通过new来创建对象,抽象方法不可以写函数体(非抽象方法必须写函数体)

 关键字小总结:不想让别的类重写的方法,用final;内容不确定的方法,用abstract(子类中用法不一样);

希望共享的用static

1 //定义一个抽象类
 2 abstract class student{
 3     //抽象方法
 4     public abstract void study();
 5     //非抽象方法
 6     public void work(){
 7         System.out.println("努力学习");
 8     }
 9 }
10 class goodstudent extends student{
11     //必须要实现抽象方法,否则该类依然是个抽象类
12     public void study(){
13         System.out.println("好学生不学习");
14     }
15 }
16 public class Test {
17     public static void main(String[] args) {
18         goodstudent s=new goodstudent();
19         //调用实现的方法
20         s.study();
21         //调用从抽象类中继承的非抽象方法
22         s.work();
23     }
24 }