前言
本期任务:毕向东老师Java视频教程学习笔记(共计25天)
- 原视频链接:黑马程序员_毕向东_Java基础视频教程
- day01:编写HelloWorld程序
- day02:操作符与条件选择语句
- day03:循环语句与函数
- day04:数组
- day07:继承、抽象类与接口
- day08:多态
- day09:异常处理
- day11:多线程
- day12:线程安全与同步机制
- day13:String类
- day14:集合(ArrayList,LinkedList,HashSet)
- day15:集合(TreeSet)和泛型)
- day16:集合(HashMap、TreeMap)
- day17:集合框架的工具类(Arrays、Collections)
- day18:IO流(字符流读写)
- day19:IO流(字节流、转换流读写)
- day20:IO流(File对象)
代码
/*
假如我们在开发一个系统时需要对员工进行建模,员工包括3个属性:姓名、工号、工资。
经理也是员工,除了含有员工的属性之外,另外还有一个奖金属性。
请使用继承的思想设计出员工类和经理类。要求类中提供必要方法进行属性访问。
员工类:name id pay
经理类:继承了员工,并由自己特有的bonus
*/
abstract class Employee {
private String name;
private String id;
private double pay;
Employee(String name, String id, double pay) {
this.name = name;
this.id = id;
this.pay = pay;
}
public abstract void work();
}
class Manager extends Employee {
private int bonus;
Manager(String name, String id, double pay, int bonus) {
super(name, id, pay);
this.bonus = bonus;
}
public void work() {
System.out.println("manager work");
}
}
/*
需求:获取一段程序运行时间
思路:获取程序开始和结束的时间并相减即可
获取时间:System.currentTimeMillis();
*/
abstract class GetTime {
public final void getTime() {
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println("毫秒:" + (end - start));
}
public abstract void runcode();
}
class SubTime extends GetTime {
public void runcode() {
for (int x = 0; x < 10000; x++) {
System.out.println(x);
}
}
}
public class TemplateDemo {
public static void main(String[] args) {
SubTime st = new SubTime();
st.getTime();
}
}
abstract class Student {
abstract void study(); // 必备功能
void sleep() {
System.out.println("sleep");
}
}
interface Smoking {
void smoke(); // 扩展功能
}
class ZhangSan extends Student implements Smoking {
void study() {
}
public void smoke() {
}
}