欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习—Day06

程序员文章站 2022-06-13 12:32:10
...

自学Java-day06

一、eclipse快捷键

ctrl+t 查看选中类的继承树

public abstract class Employee {
	public abstract void work();
}
public  class  JavaEE extends Employee {
	public void work() {
		//覆盖抽象方法
	}
}

Java学习—Day06
Ctrl+滑动鼠标点击类名,或者选中类名后,按F3键查看所选中类的源代码。
文档使用说明书:

/**
 * 类的功能
 * @author DELL
 * 版本号
 */

二、JAVA_HOME配置

1.设置path变量

在原有的path变量值前加入环境变量:jdk的安装路径。
此方法并不适用,容易修改path变量中属于windows系统的值。

2.新建JAVA_HOME变量

Java学习—Day06
变量值为jdk安装路径,并在path变量值后引入JAVA_HOME的值,精确到bin目录。%JAVA_HOME%\bin;
Java学习—Day06
Java学习—Day06

三、酒店案例

某五星级酒店,资金雄厚,要招聘多名员工(经理、厨师、服务员)。入职的员工需要记录个人信息(姓名、工号、经理特有奖金属性)。他们都有自己的工作要做。
本案例要完成如下需求:
1.获取酒店幸运员工;
酒店开设VIP服务,酒店的厨师与服务员可以提供VIP服务。(厨师做菜加量、服务员给顾客倒酒)。
2.编写测试类
向酒店中,增加多名员工(其中包含1名经理,1名厨师、2名服务员);
调用酒店员工的工作功能
调用酒店员工的VIP服务功能
Java学习—Day06

/*
 * 酒店的VIP服务
 *  厨师和服务员具有
 *  需要厨师和服务员实现此接口
 */
public interface Vip {
	public abstract void services();
}
/*
 * 酒店员工类
 * 姓名  工号  工作方法 (不同员工工作方法不同,使用抽象方法)
 */
public abstract class Employee {
	private String name;
	private String id;
	public Employee() {
		//空参构造器
	}
	public Employee(String name,String id) {
		this.name=name;
		this.id=id;
	}//满参构造器
	//因为未知调用者使用空参还是满参,故两种构造器在开发时都要写上
	public abstract void work();
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
}
/*
 * 定义厨师类
 * 属于员工中一种,同时具有额外功能
 * 继承Employee,实现Vip接口
 */
public class ChuShi extends Employee implements Vip {
	//提供空参的构造方法
	public ChuShi() {};
	public ChuShi(String name,String id) {
		super(name,id);
	}
	//抽象方法重写
	public void work() {
		System.out.println("厨师在炒菜");
	}
	public void services() {
		System.out.println("厨师做菜加量");
	}
}
/*
 * 定义服务员类
 * 属于员工中一种,同时具有额外功能
 * 继承Employee,实现Vip接口
 */
public class FuWuYuan extends Employee implements Vip {
	//定义空参数构造方法
	public FuWuYuan() {
		super();
	}
	//定义满参数构造方法
	public FuWuYuan(String name, String id) {
		super(name, id);
	}
	//抽象方法重写
	public void work() {
		System.out.println("服务员在上菜");
	}
	public void services() {
		System.out.println("服务员在给顾客倒酒");
	}
}

/*
 * 定义经理类
 * 属性是员工一种,没有VIP功能,不用实现VIP接口
 * 但有奖金属性
 */
public class JingLi  extends Employee{
	//定义空参数构造方法
	public JingLi() {}
	//定义满参数构造方法
	public JingLi(String name,String id,double money) {
		super(name,id);
		this.money=money;
	}
	//定义奖金属性
	private double money;
	
	public double getMoney() {
		return money;
	}

	public void setMoney(double money) {
		this.money = money;
	}

	//重写抽象方法
	public void work() {
		System.out.println("管理,谁出错我罚谁");
	}
}
public class Test {
	public static void main(String[] args) {
		//创建1个经理,2个服务员,2个厨师
		JingLi j1=new JingLi("小明","董事会001",12345678.32);
		j1.work();
		
		FuWuYuan f1=new FuWuYuan("小红","服务员001");
		FuWuYuan f2=new FuWuYuan("小花","服务员002");
		f1.work();
		f1.services();
		f2.work();
		f2.services();
		ChuShi c1=new ChuShi("小刚","厨师001");
		ChuShi c2=new ChuShi("小华","厨师002");
		c1.work();
		c1.services();
		c2.work();
		c2.services();
	}
}

运行结果:
Java学习—Day06

相关标签: 笔记