Java 让主类不作为超类有什么不对?
在这里,我有一个名为“Staff”的超类。我的主要方法是在一个名为“Program_2A”的单独类中。给出的文件名是Program_2A.java。Eclipse在程序的第二行显示了一个错误 链接本地重命名的所有引用不会更改其他文件中的引用 我不明白用主类而不是超类是怎么回事 代码如下:Java 让主类不作为超类有什么不对?,java,Java,在这里,我有一个名为“Staff”的超类。我的主要方法是在一个名为“Program_2A”的单独类中。给出的文件名是Program_2A.java。Eclipse在程序的第二行显示了一个错误 链接本地重命名的所有引用不会更改其他文件中的引用 我不明白用主类而不是超类是怎么回事 代码如下: import java.util.*; public class Staff { private int Staff_ID; private String Name; private
import java.util.*;
public class Staff {
private int Staff_ID;
private String Name;
private int Phone;
private int Salary;
public Staff(int staff_id, String name, int phone, int salary)
{
Staff_ID = staff_id;
Name = name;
Phone = phone;
Salary = salary;
}
public void display()
{
System.out.println("\t" + Staff_ID + "\t" + Name + "\t" + Phone + "\t" + Salary);
}
}
class Teaching extends Staff
{
private String Domain;
private int Publication;
public Teaching(int staff_id, String name, int phone, int salary, String domain, int publication) {
super(staff_id,name,phone,salary);
Domain = domain;
Publication = publication;
}
public void display() {
super.display();
System.out.println("\t" + Domain + "\t" + Publication);
}
}
class Technical extends Staff
{
private String Skills;
public Technical(int staff_id, String name, int phone, int salary, String skills) {
super(staff_id,name,phone,salary);
Skills = skills;
}
public void display() {
super.display();
System.out.println("\t" + Skills);
}
}
class Contract extends Staff
{
private int Contract;
public Contract(int staff_id, String name, int phone, int salary, int contract) {
super(staff_id,name,phone,salary);
Contract = contract;
}
public void display() {
super.display();
System.out.println("\t" + Contract);
}
}
class Program_2A {
public static void main(String[] args) {
Staff St[] = new Staff[3];
St[0] = new Teaching(1, "ABC", 1234, 10000, "CSE", 3);
St[1] = new Technical(2, "DEF", 5678, 200000, "C++");
St[2] = new Contract(3, "GHI", 9012, 50000, 3);
System.out.println("STAFF ID \t NAME \t PHONE \t SALARY \t DOMAIN \t PUBLICATIONS \t SKILLS \t PERIOD");
for(int i=0;i<3;i++) {
St[i].display();
System.out.println();
}
}
}
在Java中,一个文件只能包含一个公共类
因此,请将class Program_2A更改为public class Program_2A,并在Staff class之前删除public关键字。使用main方法的类不应该是public吗?@Gendarme它不需要公开您引用的消息看起来/听起来不像是错误,更像是重构步骤中的信息。我尝试过了!还是一样的错误,而且和你问题的标题没有任何关系。