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