day09

本文介绍了模版方法设计模式的应用,通过抽象父类定义业务骨干并将具体实现留给子类。同时探讨了接口的设计规范,包括其特点及如何实现多态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模版方法设计模式

  抽象父类负责定义操作中的业务骨干,而把这些具体的实现步骤延迟到子类中去实现。

abstract class muban{
	public long getTime(){
		long start = System.currentTimeMillis();
		doWork();
		long end = System.currentTimeMillis();
		return end - start;
	}

	abstract protected void doWork();
}
class DemoInt extends muban{

	@Override
	protected void doWork() {
		long tonal = 0;
		for(int i=1;i<=10000;i++){
			tonal+=i;
		}
	}	
}
class DemoStr extends muban{

	@Override
	protected void doWork() {
		String str = "";
		for(int i=1;i<=10000;i++){
			str+=i;
		}
	}
	
}
public class MubanDemo {
	public static void main(String[] args) {
		System.out.println(new DemoInt().getTime());
		System.out.println(new DemoStr().getTime());
	}
}
接口

定义接口 usb规范

实现接口 usb键盘  usbU盘

实例 方正usb键盘  金仕顿usbU盘

成员变量

  全局静态变量  public static final修饰 接口会被定义为常量类

  公共静态内部类 public static修饰

  公共的抽象方法 public abstract修饰

接口的特点:

1、没有构造方法,不能实例化

2、接口只能继承接口,接口可以多继承

3、接口的方法全部都是公共抽象方法 用public abstract修饰

4、接口的内部类全是静态内部累用 public static修饰

5、接口的变量,全部都是静态变量 用 public static final修饰

接口的多态以后很重要

内部类

  就是在类中定义的类,就是因为封装

  在开发中什么时候用到内部类

    1:这个类只需要让当前的外部类访问

    2:匿名内部类

  四种内部类

    非静态内部类

    静态内部类

    局部内部类

    匿名内部类,只使用一次的类 重点

      匿名内部类中只能使用final修饰的局部变量

枚举

JAVA5开始有了枚举,关键字 enum ,枚举中的常量是{}表示是内部类

enum week{
  M,T,F,S,G,H;
}
//获取枚举类型所有的对象常量
week[] weeks = week,values();
//把一个字符串转换为枚举的常量对象
week day  = week.valueOf("M");
//获取枚举的名称
String name = weeks.M.name();
//获取枚举的序列
int ordinal = week.M.ordinal();
java5开始switch也开始支持枚举

组合关系(代码复用的两种关系)

继承关系:属于“is a”的关系,子类是父类的一种特殊情况   代码复用,但是破坏封装
代码复用,组合关系,has a   A类中包含代码复用的对象


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值