抽象类和抽象方法之间的关系
有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法
当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类
因为子类是继承父类全部内容,所以也就相当于子类中也有了抽象方法,通过重写,可以将抽象方法覆盖。
抽象类的特点:必须有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 }