日期:2014-05-20  浏览次数:20732 次

哪位学过C++,我来请教个java问题!!
我现在水平浅,只接触到一个java文件,这个文件应该是相当于C++中的CPP文件。 java中有没有类似于C++的.H文件的文件?

下面的代码我是放在一个java文件中的,如果要分开存放,应该怎么操作软件,我用的是Eclipse软件。代码是否有需要修改的地方

Java code
import java.io.Console;
import java.util.*;
import java.lang.System;
import java.math.BigInteger;
import java.io.*;

public class EmployeeTest
{
    public static void main(String[] args)
    {
        Employee[] staff = new Employee[3];
        
        staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
        staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
        staff[2] = new Employee("Tone Tester", 40000, 1990, 3, 15);
        
        for(Employee e : staff)
            e.raiseSalary(5);
        
        for(Employee e : staff)
            System.out.println("name = " + e.getName() + " ,salary=" + e.getSalary() + "hireDay="
                    + e.getHireDay() );
    }
}

class Employee
{
    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();
    }
    
    public String getName()
    {
        return name;
    }
    
    public double getSalary()
    {
        return salary;
    }
    
    public Date getHireDay()
    {
        return hireDay;
    }
    
    public void raiseSalary(double byPercent)
    {
        double raise = salary * byPercent / 100;
        salary += raise;
    }
    
    private String name;
    private double salary;
    private Date hireDay;
}


------解决方案--------------------
在Java中 .Java 就是相当于 C++ 的 .h 和 .cpp
在C++中 类 要用 .h 声明 .cpp定义
而在Java中.java 就可以实现上面的功能。
Java code

//file Employee.java
import java.io.Console;
import java.util.*;
import java.lang.System;
import java.math.BigInteger;
import java.io.*;
class Employee
{
    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();
    }
    
    public String getName()
    {
        return name;
    }
    
    public double getSalary()
    {
        return salary;
    }
    
    public Date getHireDay()
    {
        return hireDay;
    }
    
    public void raiseSalary(double byPercent)
    {
        double raise = salary * byPercent / 100;
        salary += raise;
    }
    
    private String name;
    private double salary;
    private Date hireDay;
}
//file EmployeeTest.java
import java.io.Console;
import java.util.*;
import java.lang.System;
import java.math.BigInteger;
import java.io.*;

public class EmployeeTest
{
    public static void main(String[] args)
    {
        Employee[] staff = new Employee[3];
        
        staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
        staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
        staff[2] = new Employee("Tone Tester", 40000, 1990, 3, 15);
        
        for(Employee e : staff)
            e.raiseSalary(5);
        
        for(Employee e : staff)
            System.out.println("name = " + e.getName() + " ,salary=" + e.getSalary() + "hireDay="
                    + e.getHireDay() );
    }
}

------解决方案--------------------
1,随便建个package 例:test
2,新建Employee.java,内容如下:
Java code

package test;

import java.util.Date;
import java.util.GregorianCalendar;

public class Employee {
    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();
    }

    public String getName() {
        return name;
    }

    public double getSalary() {
        return salary;
    }

    public Date getHireDay() {
        return hireDay;
    }

    public void raiseSalary(double byPercent) {
        double raise = salary * byPercent / 100;
        salary += raise;
    }

    private String name;

    private double salary;

    private Date hireDay;
}