封装增加了内聚
那么接口就降低了耦合
接口是like a(提取出的抽象方法的集合)
好处:
功能扩展
可以多实现(类与接口)多继承(接口与接口)
类不支持多继承的原因是父类中的方法有重复
因为多实现实现的是接口接口里面没有方法体即使名称相同 但因为没有方法主体 所以可以被子类任意定义
模板方法设计模式:
在设计功能的时候一部分是确定的 一部分是不确定的
确定的还要使用不确定的
这时候就用这种设计模式:把不确定的部分设计为abstract public 由该类的子类来覆写这个方法
实现:
注意:有关语句和函数:
语句不会光秃秃地出现在一个类里面一定是在一个函数里面
但是变量就不一定可能在函数里面 可能在类里面 可能都有
/*
需求:
获取当前一段程序的运行时间
*/
class TemplateDemo
{
publicstatic void main(String[] args)
{
Toolt = new Tool();
t.get();
}
}
abstract class GetTime
{
publicvoid get()
{
longstart = System.currentTimeMillis();
runcode();
longend = System.currentTimeMillis();
longtime = end - start;
Show.sop("程序运行的时间是:"+time+"ns");
}
abstractvoid runcode();
}
class Tool extends GetTime
{
voidruncode()
{
for(int i = 0; i<1000 ; i++ )
{
Show.sop(i);
}
}
}
class Show
{
publicstatic void sop(Object obj)
{
System.out.println(obj);
}
}