[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 }

 

posted @ 2018-12-04 21:28  ID长安忆  阅读(325)  评论(0)    收藏  举报