黑马程序员——Java---抽象,模板方法
2015-12-15 18:10
246 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
/*抽象 用修饰符abstract 修饰的类,抽象方法必须被存在抽象类中
,抽象被不可以被new创建,因为调用抽象方法没有意义
抽象类中的方法要被使用,必须由子类覆盖其所有抽象方法后,建立子类对象调用
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类,并且也不可以被new创建。
*/
abstract class myclass //abstract修饰的抽象类
{
abstract void show();//abstract修饰的抽象方法,抽象方法不允许有函数主体
//当对两个或多个以上的功能进行抽取,并且函数主体内容不同的时候,就可以使用抽象方法来向上提取共性部分
}
*******************************************************************************************************************************
/*模板方法
类定义功能,有一部分是确定,一部分是不确定的时候,可以将其不确定的以函数的方式暴露出来,让子类去实现。
例子 ClassB 继承并实现ClassA抽象类中的方法来计算程序运行时间
*/
abstract class ClassA //变量的默认修饰符是static
{
void getTime(){ //父类中定义计算时间的函数
long start = System.currentTimeMillis();
runcode(); //因为不确定被调用函数的内容,所以用函数封装的方式将要被调用的函数暴露出来留给子类去复写。
long end = System.currentTimeMillis();
System.out.println("runtime:"+(end-start)); //打印出子类程序运行的时间
}
public abstract void runcode();
//抽象类中的所有抽象方法必须要被子类实现,如果没有全部实现,则子类也是一个抽象类,也不能被new关键字建立新的对象.
}
class ClassB extends ClassA
{
public void runcode(){
System.out.println("hello");
}
}
class MyProgma
{
public static void main(String[] args)
{
ClassB cb = new ClassB();
cb.getTime();
}
}
相关文章推荐
- 职场红人之不可错过的经典句型
- 面试人员的几个方面的问题
- 35 岁程序员的独家面试经历
- 职场技巧:内向者如何修炼成社交达人
- 【跟着大磨马学IT编程(安卓java程序员)】第十六天 课程内容概述
- 面试题 - 百度小哥
- 极客学院职业路径图课程视频下载-爬虫
- iOS开发面试题整理 (一)
- 程序员也要学会沟通
- 程序员也要学会沟通
- 面试题13:数值的整数次方(offer)
- 衡量android开发者水平的面试问题-android学习之旅(91)
- 衡量android开发者水平的面试问题-android学习之旅(91)
- 衡量android开发者水平的面试问题-android学习之旅(91)
- 衡量android开发者水平的面试问题-android学习之旅(91)
- 找数组中第k个最小数
- 黑马程序员---Java基础---数组
- 面试题12:二进制中1的个数
- 程序员必看--23种设计模式及解释(中英文对照)——每天都要坚持看上几遍
- 杭州睿琪软件面试题