Java中的抽象类

抽象类定义
1、语法定义:
抽象类钱使用abstract关键字修饰,则该类为抽象类。
2、应用场景:
a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法
(抽象类约束子类必须有哪些方法,但并不关注子类怎么去实现这些方法。)
b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3、作用:
限制规定子类必须实现某些方法,但不关注实现细节。
4、使用规则:
a、abstract定义抽象类
b、abstract定义抽象方法,只有声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类中可以包含普通的方法,也可以没有抽象方法
e、抽象类不能直接创建,可以定义引用变量

(注:抽象方法没有方法体,以分号结束。)

1 package com.imooc;
2 
3 public abstract class Telphone {
4     public abstract void call();
5     public abstract void message();
6 }
 1 package com.imooc;
 2 
 3 public class CellPhone extends Telphone {
 4 
 5     @Override
 6     public void call() {
 7         // TODO Auto-generated method stub
 8         System.out.println("通过键盘打电话");
 9     }
10 
11     @Override
12     public void message() {
13         // TODO Auto-generated method stub
14         System.out.println("通过键盘发短信");
15 
16     }
17 
18 }
 1 package com.imooc;
 2 
 3 public class SmartPhone extends Telphone {
 4 
 5     @Override
 6     public void call() {
 7         // TODO Auto-generated method stub
 8         System.out.println("通过语音打电话");
 9     }
10 
11     @Override
12     public void message() {
13         // TODO Auto-generated method stub
14         System.out.println("通过语音发短信");
15     }
16 
17 }
 1 package com.imooc;
 2 
 3 public class Initial {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         Telphone tel1 = new CellPhone();
 8         tel1.call();
 9         tel1.message();
10         Telphone tel2 = new SmartPhone();
11         tel2.call();
12         tel2.message();
13     }
14 
15 }
原文地址:https://www.cnblogs.com/100thMountain/p/5402004.html