java课题–day3基础回顾
多态篇 ,接口,抽象类
公司升级版
package CompanyUpgrade;
public class Employee {
private String name;
private int month;
public Employee(String name, int month) {
this.name = name;
this.month = month;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public double getSalary(int month){
if (this.month==month){
return 100;
}else{
return 0;
}
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", month=" + month +
'}';
}
}
package CompanyUpgrade;
import CompanyUpgrade.Employee;
public class SalesEmployee extends Employee {
private double monthSale;
private double reyaltyRate;
public SalesEmployee(String name, int month,double monthSale,double reyaltyRate) {
super(name, month);
this.reyaltyRate=reyaltyRate;
this.monthSale=monthSale;
}
public double getMonthSale() {
return monthSale;
}
public void setMonthSale(double monthSale) {
this.monthSale = monthSale;
}
public double getReyaltyRate() {
return reyaltyRate;
}
public void setReyaltyRate(double reyaltyRate) {
this.reyaltyRate = reyaltyRate;
}
@Override
public double getSalary(int month){
return super.getSalary(month)+monthSale*reyaltyRate;
}
@Override
public String toString() {
return "SalesEmployee{" +
"monthSale=" + monthSale +
", reyaltyRate=" + reyaltyRate +
"} " + super.toString();
}
}
package CompanyUpgrade;
import CompanyUpgrade.Employee;
public class SalariedEmployee extends Employee {
private double monthPay;
public SalariedEmployee(String name, int month,double monthPay) {
super(name, month);
this.monthPay=monthPay;
}
public double getMonthPay() {
return monthPay;
}
public void setMonthPay(double monthPay) {
this.monthPay = monthPay;
}
@Override
public double getSalary(int month){
return super.getSalary(month)+monthPay;
}
@Override
public String toString() {
return "SalariedEmployee{" +
"monthPay=" + monthPay +
"} " + super.toString();
}
}
package CompanyUpgrade;
import CompanyUpgrade.Employee;
public class HourlyEmployee extends Employee {
private double hourPay;
private double hour;
public HourlyEmployee(String name, int month,double hourPay,double hour) {
super(name, month);
this.hour=hour;
this.hourPay=hourPay;
}
public double getHourPay() {
return hourPay;
}
public void setHourPay(double hourPay) {
this.hourPay = hourPay;
}
public double getHour() {
return hour;
}
public void setHour(double hour) {
this.hour = hour;
}
@Override
public double getSalary(int month){
if (hour<=160) {
return super.getSalary(month)+hour * hourPay;
}else {
return super.getSalary(month)+160*hourPay+(hour-160)*hourPay*1.5;
}
}
@Override
public String toString() {
return "HourlyEmployee{" +
"hourPay=" + hourPay +
", hour=" + hour +
"} " + super.toString();
}
}
package CompanyUpgrade;
public class BasePlusSalesEmployee extends SalesEmployee {
private double basePay;
public BasePlusSalesEmployee(String name, int month,double monthSale,double reyaltyRate,double basePay) {
super(name,month,monthSale,reyaltyRate);
this.basePay=basePay;
}
public double getBasePay() {
return basePay;
}
public void setBasePay(double basePay) {
this.basePay = basePay;
}
@Override
public double getSalary(int month){
return super.getSalary(month)+basePay;
}
@Override
public String toString() {
return "BasePlusSalesEmployee{" +
"basePay=" + basePay +
"} " + super.toString();
}
}
package CompanyUpgrade;
import CompanyUpgrade.BasePlusSalesEmployee;
import CompanyUpgrade.Employee;
public class EmployeeDemoTest {
public static void main(String[] args) {
int month=12;
Employee salariedEmployee=new SalariedEmployee("s1",12,3000);
Employee hourlyEmployee=new HourlyEmployee("h1",11,12,260);
Employee salesEmployee=new SalesEmployee("s2",10,60000,0.1);
Employee basePlusSalesEmployee=new BasePlusSalesEmployee("b1",12,9000,0.1,2500);
Employee[] employees={salariedEmployee,hourlyEmployee,salesEmployee,basePlusSalesEmployee};
for (int i=0;i<employees.length;i++){
System.out.println(employees[i]+"本月工资为:"+employees[i].getSalary(month));
}
}
}
台灯点亮灯泡
package light;
public interface Buble {
public void light();
}
package light;
public class GreenBuble implements Buble{
@Override
public void light() {
System.out.println("Green 发光.");
}
}
package light;
public class Lamp {
private Buble buble;
public Lamp(Buble buble) {
this.buble = buble;
}
public Buble getBuble() {
return buble;
}
public void turnOn(Buble buble){
this.buble.light();
}
}
package light;
public class RedBuble implements Buble {
@Override
public void light() {
System.out.println("红灯亮了!");
}
}
package light;
public class TestDemo {
public static void main(String[] args) {
GreenBuble greenBuble=new GreenBuble();
RedBuble redBuble=new RedBuble();
Lamp lamp=new Lamp(greenBuble);
Lamp lamp1=new Lamp(redBuble);
lamp.turnOn(greenBuble);
lamp1.turnOn(redBuble);
}
}
形状求周长和面积
package shape;
public interface Shape {
public double zhouchang();
public double mianji();
}
package shape;
public class Rect implements Shape{
private double x;
private double y;
public Rect() {
}
public Rect(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
@Override
public double zhouchang() {
System.out.println("矩形的周长"+(this.x+this.y)*2);
return (this.x+this.y)*2;
}
@Override
public double mianji() {
System.out.println("矩形的面积"+this.x*this.y);
return this.x*this.y;
}
@Override
public String toString() {
return "Rect{" +
"x=" + x +
", y=" + y +
'}';
}
}
package shape;
public class Circle implements Shape {
private double r;
public Circle(double r) {
this.r = r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
@Override
public double zhouchang() {
System.out.println("圆的周长"+r*2*Math.PI);
return r*2*Math.PI;
}
@Override
public double mianji() {
System.out.println("圆的面积"+r*r*Math.PI);
return r*r*Math.PI;
}
@Override
public String toString() {
return "Circle{" +
"r=" + r +
'}';
}
}
package shape;
public class Square extends Rect {
private double l;
public Square(double l) {
this.l=l;
}
@Override
public String toString() {
return "Square{" +
"l=" + l +
'}';
}
@Override
public double zhouchang() {
System.out.println("正方形的周长是"+4*l);
return 4*l;
}
@Override
public double mianji() {
System.out.println("正方形的面积是"+l*l);
return l*l;
}
}
package shape;
public class Test {
public static void main(String[] args) {
Rect rect=new Rect(2,3);
Circle circle=new Circle(2.6);
Square square=new Square(5);
Shape[] shapes={rect,circle,square};
for (int i=0;i<shapes.length;i++){
System.out.println(shapes[i].mianji());
System.out.println(shapes[i].zhouchang());
}
}
}
数据库操作
USE stums;
ALTER TABLE stu ADD (stu_phone CHAR(11));
ALTER TABLE stu MODIFY stu_phone VARCHAR(11);
ALTER TABLE stu CHANGE stu_psd stu_password VARCHAR(20);
ALTER TABLE stu RENAME TO student;
DESC student;
ALTER TABLE student RENAME TO stu;
ALTER TABLE stu MODIFY stu_phone CHAR(11);
ALTER TABLE stu MODIFY stu_nicky VARCHAR(50);
DESC stu;
USE java_web_homework;
SHOW TABLES;
DESC usertable;
ALTER TABLE usertable MODIFY user_password VARCHAR(20);
ALTER TABLE usertable MODIFY user_nicky VARCHAR(50);
DESC usertable;
USE stums;
DESC stu;
ALTER TABLE stu DROP stu_nicky;
选做题:CompareTo排序
package testdemo;
public class Employee implements Comparable<Employee>{
private String name;
private int age;
private double salary;
public Employee() {
}
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", salary=" + salary +
'}';
}
@Override
public int compareTo(Employee e) {
int resNum =(int)(e.salary-this.salary);
int resNum2= resNum==0 ? (int)(e.age-this.age):resNum;
int resNum3= resNum2==0 ?(-this.name.compareTo(e.name)): resNum2;
return resNum3;
}
}
package testdemo;
import java.util.*;
public class EmployeeList {
public static void main(String[] args) {
Employee lisi=new Employee("lisi",25,3500);
Employee zhangsan=new Employee("zhangsan",28,3500);
Employee chenpi=new Employee("chenpi",28,3500);
Employee chenpu=new Employee("chenpu",28,3500);
Employee wanger=new Employee("wanger",27,3600);
Employee mazi=new Employee("mazi",28,3400);
Employee dingliu=new Employee("dingliu",29,3400);
List<Employee> eA=new ArrayList<Employee>();
eA.add(lisi);
eA.add(zhangsan);
eA.add(wanger);
eA.add(mazi);
eA.add(dingliu);
eA.add(chenpi);
eA.add(chenpu);
Collections.sort(eA);
System.out.println("---输出方法1---");
Iterator iterator=eA.iterator();
while (iterator.hasNext()){
Employee employee=(Employee) iterator.next();
System.out.println(employee.toString());
}
System.out.println("---输出方法2---");
for (Employee employee: eA){
System.out.println(employee);
}
}
}