java吧 关注:1,246,260贴子:12,724,677
  • 1回复贴,共1

考试求大神,在线等

只看楼主收藏回复


态变量和静态方法。访问已知类Employee中的静态方法getNextId(),从而访问到其中的静态变量nextId,并输出3个雇员信息,见运行结果。
package test1;
public class TestJavaStatic
{
public static void main(String[] args)
{
//待完成
}
}
class Employee
{ private static int nextId = 1;
private String name;
private double salary;
private int id;
public Employee(String n, double s)
{ name = n;
salary = s;
id = 0;
}
public String getName()
{ return name;
}
public double getSalary()
{ return salary;
}
public int getId()
{ return id;
}
public void setId()
{ id = nextId; // set id to next available id
nextId++;
}
public static int getNextId()
{ return nextId; // returns static field
}
}
/*
程序运行结果:
name=Tom,id=1,salary=40000.0
name=Dick,id=2,salary=60000.0
name=Harry,id=3,salary=65000.0
Next available id=4
*/


IP属地:四川1楼2017-06-29 09:45回复
    包访问和封装。Employee封装类在包路径test3.com.horstmann.corejava下,TestPackageVisitMain类在test3包下,请先写完封装类的3个属性的get方法,然后用后者去访问前者,使得salary增加5%,输出见运行结果。
    // Employee.java
    package test3.com.horstmann.corejava;
    import java.util.*;
    public class Employee
    {
    private String name;
    private double salary;
    private Date hireDay;
    public Employee(String n, double s, int year, int month, int day)
    {
    name = n;
    salary = s;
    GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
    hireDay = calendar.getTime();
    }
    //待完成——属性的get方法
    public void raiseSalary(double byPercent)
    {
    double raise = salary * byPercent / 100;
    salary += raise;
    }
    }
    // TestPackageVisitMain.java
    package test3;
    import test3.com.horstmann.corejava.*;
    import static java.lang.System.*;
    public class TestPackageVisitMain
    {
    public static void main(String[] args)
    {
    //待完成——访问封装类Employee,输出结果
    }
    }
    /*
    程序运行结果:
    name=Harry Hacker,salary=52500.0
    */


    IP属地:四川3楼2017-06-29 09:48
    回复