前言
本期任務:畢向東老師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() {
}
}