[18/12/04]抽象类和抽象方法
一、概念(提供一个模板)
抽象方法 : 使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。
抽象类:包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
意义:将方法的设计和实现分工了
【注】 1. 有抽象方法的类只能定义成抽象类
2. 抽象类不能实例化,即不能用new来实例化抽象类。
3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
4. 抽象类只能用来被继承。
5. 抽象方法必须被子类实现。
【代码示例】
1 abstract class Animal //包含抽象方法的类叫做抽象类 必须也加abstract,定义成抽象类 2 { 3 public abstract void run();//抽象方法run,只有方法名,没有具体实现即方法体(大括号) 4 5 public void breath(){ 6 System.out.println("呼吸"); //抽象类中也可以定义普通方法,也可以定义普通属性 7 } 8 } 9 10 class Cat extends Animal //继承自抽象类Animal 子类这个类必须实现抽象方法,否则会报错 11 { 12 public void run(){ //实现抽象方法run 13 System.out.println("猫步"); 14 15 } 16 17 } 18 19 class Dog extends Animal 20 { 21 public void run(){ 22 System.out.println("撒欢跑"); 23 } 24 25 } 26 27 public class Test_1204_01 28 { 29 public static void main(String[] args) 30 { 31 //Animal a=new Animal();是错误的 抽象类不能实例化,即不能用new来实例化抽象类。 32 33 34 new Cat().run(); //直接调用run() 不要用System.out.println(); 35 36 37 } 38 }

浙公网安备 33010602011771号