我在一个名为util的包中有三个类,所有公共类。但是,当我尝试编译使用这些类的代码时,我收到一个错误,指出这些类不是公共的。我不知道出了什么问题。这三个类别如下:
package util;
class Address {
private String address;
public Address(){
address = "Default";
}
public Address(String newAddress){
address = newAddress;
}
public void setAddress(String newAddress){
address = newAddress;
}
public String getAddress(){
return address;
}
}
日期类
package util;
class Date {
private String Date;
public Date(){
Date = "Default";
}
public Date(String newDate){
Date = newDate;
}
public void setDate(String newDate){
Date = newDate;
}
public String getDate(){
return Date;
}
}
名称等级
package util;
class Name {
private String name;
public Name(){
name = "Default";
}
public Name(String newName){
name = newName;
}
public void setName(String newName){
name = newName;
}
public String getName(){
return name;
}
}
答案 0 :(得分:6)
添加"公共"在所有类声明面前。你把它们全部打包成私人。
我不知道这是一个简化的例子,但你的设计还有很多不足之处。所有三个类,Date(不必要),Name和Address都是String类的最薄包装器。我将最后两个充实并取消第一个。使用您的代码的任何人都必须决定您的日期或java.util.Date。馊主意。改为使用JDK java.util.Date。
答案 1 :(得分:2)
这些类不是public
,它们是package-private,因为您没有指定任何访问级别修饰符。要使他们public
添加public
访问修饰符:
public class Address {