首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

小弟我要晕了、

2013-09-11 
我要晕了、、、、继承、[解决办法]public void setSalary(double salary) {this.salary salary*2System.out.p

我要晕了、、、、
继承、
[解决办法]

    public void setSalary(double salary) {
        this.salary =salary*2;
        System.out.println("经理的工资是"+salary);
    }

上面的方法里,salary就是给传进去的值 100。 要想得到200, 要用this.salary.
[解决办法]
引用:
Java code?1234    public void setSalary(double salary) {        this.salary =salary*2;        System.out.println("经理的工资是"+salary);    }
上面的方法里,salary就是给传进去的值 100。 要想得到200, 要用this.salary.……


+

顺便说一句好久没见,是南方征雁吧?
[解决办法]
典型的面向对象模型,代码如下:

基类Employee.java

public class Employee {
    private String name;    //姓名


    private int age;        //年龄
    private float salary;  //工资

    /***
     * 构造函数
     */
    public Employee(String name,int age){
        this.name = name;
        this.age = age;
    }

    /***
     * 设定工资的方法,在Employee里可以直接设置成空方法
     * @param salary
     */
    public void setSalary(float salary){
       this.salary = salary;
    }

    /***
     * 获得工资的方法
     */
    public float getSalary(){
        return this.salary;
    }
}



经理类 Manager.java

class Manager extends Employee{


    /***
     * Manager的构造函数
     */
    public Manager(String name, int age){
        super(name,age);
    }

    @Override
    public void setSalary(float salary){
        super.setSalary(salary);
    }
}


销售类 Salesman.java

class Salesman  extends Employee{

    private float fixSalary = (float) 3000.0; //固定工资3000元每月

    /***
     * Salesman的构造函数
     */
    public Salesman (String name, int age){
        super(name,age);
    }

    /***
     * 重写setSalary方法,这里的参数是营业额
     * @param salesMoney
     */
    @Override
    public void setSalary(float salesMoney){
        //假设销售人员的工资是基本工资加上销售额的10%提成
        float salary = (float) (this.fixSalary + salesMoney * 0.1);
        super.setSalary(salary);
    }
}


工人类 Worker.java

class Worker  extends Employee{


    /***
     * Salesman的构造函数
     */
    public Worker (String name, int age){
        super(name,age);
    }

    /***
     * 重写setSalary方法,这里的参数工作时间
     * @param daysOfWork
     */
    @Override
    public void setSalary(float daysOfWork){


        //假设销售人员的工资是基本工资加上销售额的10%提成
        float salary = (float) (daysOfWork  * 100);
        super.setSalary(salary);
    }
}



最后,是用于运行的类 Main.java

public class Main {

    public static void main(String[] args){
        Manager manager = new Manager("张三",30);
        manager.setSalary(10000);  //经理的固定工资,一个月10000

        Salesman salesMan = new Salesman("李四",25);
        salesMan.setSalary(20000); //销售本月完成了20000的销售指标

        Worker worker = new Worker("王五",22);
        worker.setSalary(22); //工人本月共工作22个工作日

        System.out.println("经理的工资:"+manager.getSalary());
        System.out.println("销售的工资:"+salesMan.getSalary());
        System.out.println("工人的工资:"+worker.getSalary());
    }

}



运行结果如下:
经理的工资:10000.0
销售的工资:5000.0
工人的工资:2200.0
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

热点排行