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 }
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
posted on 2016-04-17 20:12 Mountain's_blog 阅读(9041) 评论(1) 编辑 收藏 举报