有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要我的代码帮助,静态中的非静态变量

我的代码与系统有问题。出来打印我的代码。它给了我多个相同的错误(非静态变量这不能从静态上下文引用),任何帮助都是感激的。下面是我的代码,我遇到的问题与打印对象及其属性有关

public class Program5
{
    class Employee
    {
        private String name;
        private String ssn;

        public Employee(String name, String ssn) { this.name = name; this.ssn = ssn;}

        public Employee() {}

        public String toString() {
            return name + "," + ssn;
        }   

    }

    class HourlyEmployee extends Employee {
        private double HourlyRate;
        private int Hours;

        public void setHours(int Hours) { this.Hours = Hours; }

        public HourlyEmployee(String name, String ssn, double HourlyRate) {
            super(name, ssn);
            {this.HourlyRate = HourlyRate;}
        }

        public double CalculateWages(int Hours,double HourlyRate) {
            double CalculateWages = Hours * HourlyRate;
            return CalculateWages;
        }

        public String toString() {
            return super.toString() + "," + HourlyRate + "," + Hours + "," + CalculateWages(Hours, HourlyRate);
        }   
    }   

    class SalariedEmployee extends Employee {
        private double AnnualSalary;
        private int MonthsWorked;

        public SalariedEmployee(String name, String ssn, double AnnualSalary, int MonthsWorked) {
            super(name, ssn);
            {this.AnnualSalary = AnnualSalary; this.MonthsWorked = MonthsWorked;}

        }

        public double CalculateWages(double AnnualSalary, int MonthsWorked) {
            double CalculateWages = AnnualSalary / MonthsWorked;
            return CalculateWages;
        }

        public String toString() {
            return super.toString() + "," + AnnualSalary + "," + MonthsWorked + "," + CalculateWages(AnnualSalary, MonthsWorked);
        }   
    }

    public static void main(String[]arugments) {
        System.out.println ("");
        System.out.println();

        HourlyEmployee h1 = new HourlyEmployee("Fred", "111-11-1111", 80.0);        
        SalariedEmployee s1 = new SalariedEmployee("Peter", "222-22-2222", 270000, 9);
        Employee e1 = new Employee("Sam", "555-55-5555");
        h1.setHours(50);
        System.out.print(h1.toString());

共 (0) 个答案