天天看點

java類是公共的應當聲明,java 類是公共的,應在名為.java 的檔案中聲明

java 類是公共的,應在名為.java 的檔案中聲明

關注:162  答案:2  mip版

解決時間 2021-01-16 12:24

java類是公共的應當聲明,java 類是公共的,應在名為.java 的檔案中聲明

提問者關系已逝

2021-01-15 16:19

import javax.swing.JOptionPane;

import java.text.DecimalFormat;

//EmployeeTest.java

public class EmployeeTest{

public static void main(String[] args){

Employee ref;

String output="";

Boss b=new Boss("史","季華",800.00);

CommissionWorker c=new CommissionWorker("張","雪",400.0,3.0,150);

DecimalFormat precision2=new DecimalFormat("0.00");

ref=b; //把父類的引用ref指派為子類經理boss對b的引用

output+=ref.toString()+"工資(元)"+

precision2.format(ref.earnings())+"\n"+

b.toString()+"工資(元)"+

precision2.format(b.earnings())+"\n";

ref=c;

output+=ref.toString()+"工資(元)"+

precision2.format(ref.earnings())+"\n"+

c.toString()+"工資(元)"+

precision2.format(c.earnings())+"\n";

JOptionPane.showMessageDialog(null,output,

"Demonstrating polymorphism",

JOptionPane.INFORMATION_MESSAGE);

System.exit(0);

}

}

//Employee.java

public abstract class Employee{

private String firstName;

private String lastName;

public Employee(String first,String last){

firstName=first;

lastName=last;

}

public String getFirstName(){return firstName;}

public String getLastName(){return lastName;}

public String toString(){return firstName+' '+lastName;}

//Employee抽象方法earnings();

public abstract double earnings();

}

//BOSS.java

public final class Boss extends Employee{

private double weeklySalary;

public Boss(String first,String last,double s){

super(first,last);

setWeeklySalary(s);

}

public void setWeeklySalary(double s){

weeklySalary=(s>0?s:0);}

public double earnings(){return weeklySalary;}

public String toString(){

return "經理:"+super.toString();}

}

//CommissionWorker.java

public final class CommissionWorker extends Employee{

private double salary; //每周的底薪

private double commission; //每周獎金

private double quantity; //銷售額

public CommissionWorker(String first,String last,double s,double c,double q){

super(first,last);

setSalary(s);

setCommission(c);

setQuantity(q);

}

public void setSalary(double s){

salary=(s>0?s:0);

}

public void setCommission(double c){

commission=(c>0?c:0);

}

public void setQuantity(double q){

quantity=(q>0?q:0);

}

public double earnings(){

return salary+commission*quantity;

}

public String toString(){

return "普通員工:"+super.toString();

}

}

錯誤:D:\java>javac EmployeeTest.java

EmployeeTest.java:42: 類 Employee 是公共的,應在名為 Employee.java 的檔案中聲明

public abstract class Employee{

^EmployeeTest.java:63: 類 Boss 是公共的,應在名為 Boss.java 的檔案中聲明

public final class Boss extends Employee{

^EmployeeTest.java:82: 類 CommissionWorker 是公共的,應在名為 CommissionWorker.ja

va 的檔案中聲明

public final class CommissionWorker extends Employee{

^3 錯誤

不好意思,新手程式設計希望能得到大家的幫助!~··謝謝了

不好意思,發表的地方錯了,很抱歉!

最佳答案

java類是公共的應當聲明,java 類是公共的,應在名為.java 的檔案中聲明

二級知識專家選擇重頭再來

2021-01-15 16:31

錯誤說的很清楚。

Java源檔案中pulic類/接口等隻能存在一個,且檔案名必須與其一緻(大小寫敏感),你試着将各個pulic類型的檔案名改成類型名一緻再試下。

另外,你這個提問分類怎麼跑這兒來了

全部回答

java類是公共的應當聲明,java 類是公共的,應在名為.java 的檔案中聲明

1樓幼稚園小班大佬

2021-01-15 17:29

一個 *.java 檔案中,隻能有一個public 的類,而且這個public修飾的這類必需要和這個檔案名相同.

//boss.java

public final class boss extends employee{ }

你把public去掉就可以了.

我要舉報

如以上問答内容為低俗/色情/暴力/不良/侵權的資訊,可以點下面連結進行舉報,我們會做出相應處理,感謝你的支援!

→點此我要舉報以上資訊!←

推薦資訊

大家都在看