java课题--day3基础回顾

java课题–day3基础回顾

多态篇 ,接口,抽象类

公司升级版

package CompanyUpgrade;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:31
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:42
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:35
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:37
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:46
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/10 - 13:52
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 9:47
 */
public interface Buble {
    public void light();//灯泡发光
}
package light;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 9:51
 */
public class GreenBuble implements Buble{
    @Override
    public void light() {
        System.out.println("Green 发光.");
    }
}
package light;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 9:22
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 9:50
 */
public class RedBuble implements Buble {
    @Override
    public void light() {
        System.out.println("红灯亮了!");
    }
}
package light;


/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 9:37
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 10:01
 */
public interface Shape {
    public double zhouchang();
    public double mianji();
}
package shape;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 10:02
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 10:03
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 10:03
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 10:11
 */
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;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 11:42
 */
public class Employee implements Comparable<Employee>{
    /* 定义一个Employee类,属性:name:String,age:int,salary:double
     把若干Employee对象放在List中,排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列
     把若干Employee对象放在Set中并遍历,要求没有重复元素*/
    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.*;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/11 - 11:45
 */
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>();//new一个集合
        //元素放入集合
        eA.add(lisi);
        eA.add(zhangsan);
        eA.add(wanger);
        eA.add(mazi);
        eA.add(dingliu);
        eA.add(chenpi);
        eA.add(chenpu);
        Collections.sort(eA);//排序
        //输出方法1
        System.out.println("---输出方法1---");
        Iterator iterator=eA.iterator();
        while (iterator.hasNext()){
            Employee employee=(Employee) iterator.next();
            System.out.println(employee.toString());
        }
        //输出方法2
        System.out.println("---输出方法2---");
        for (Employee employee: eA){
            System.out.println(employee);
        }
    }
}

发布了83 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43759910/article/details/103489650
今日推荐