[英]abstract static classes in java giving error illegal combination of modifiers
[英]Illegal combination of modifiers: public and private
我遇到以下代碼的問題...
/**
* This class holds all of the information pertaining to
* a person's name.
*/
public class Name {
private String first, middle, last, maiden, initials, prefix, suffix;
private char middleInitial, firstInitial, lastInitial;
private
/**
* Constructor for a Name given first, middle, and last names.
*/
public Name(String first, String middle, String last) {
this.first = first;
this.middle = middle;
this.last = last;
this.middleInitial = middle.charAt(0);
this.firstInitial = first.charAt(0);
this.lastInitial = last.charAt(0);
this.initials = String.valueOf(firstInitial + middleInitial
+ lastInitial);
this.maiden = null;
this.prefix = null;
this.suffix = null;
}
還有更多,但我的錯誤是在我的主要構造函數中。 它給了我在標題中輸入的錯誤。 如您所見,我的類和構造函數都是公共的。 這不應該引起任何問題,但似乎正在這樣做。
在構造函數的注釋之前有一個“孤兒” private
修飾符:
private // Here!
/**
* Constructor for a Name given first, middle, and last names.
*/
public Name(String first, String middle, String last) {
只需刪除它,你應該沒事。
班里的第三行有一個流浪private
。 由於語句持續到遇到大括號或分號,編譯器認為這是與構造函數聲明相同的語句的一部分 - 它看到private public Name(String first, String middle, String last)
。
聲明所有變量后,您已將關鍵字寫為private
。
private String first, middle, last, maiden, initials, prefix, suffix;
private char middleInitial, firstInitial, lastInitial;
private // Here.
Java是一種自由鍵入的語言。 一條線以a結尾;
(半冒號)而不是換行符。 所以
private
public Name(String first, String middle, String last) {
// ...
}
被認為是一條單行:
private public Name(String first, String middle, String last) {
// ...
}
如您所見,您的構造函數有兩個修飾符, public
和private
。 這在Java中是非法的。
private
且不希望其他類實例化它,請刪除關鍵字public
。 private
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.