0

我在一个名为 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;
    }

}
4

2 回答 2

6

在所有类声明前添加“public”。您将它们全部设为私有。

我不知道这是否是一个简化的示例,但是您的设计还有很多不足之处。您的所有三个类 Date(非必需)、Name 和 Address 都是围绕 String 类的最薄的包装器。我会丰富最后两个并消除第一个。任何使用您的代码的人都必须确定您是指 Date 还是 java.util.Date。馊主意。请改用 JDK java.util.Date。

于 2012-09-30T19:32:47.977 回答
2

这些类不是public,它们是package-private,因为您没有指定任何访问级别修饰符。要使它们向它们public添加public访问修饰符:

public class Address {
于 2012-09-30T19:34:13.273 回答