用户定义的包和类路径

时间:2012-09-30 19:31:07

标签: java oop package

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

}

2 个答案:

答案 0 :(得分:6)

添加"公共"在所有类声明面前。你把它们全部打包成私人。

我不知道这是一个简化的例子,但你的设计还有很多不足之处。所有三个类,Date(不必要),Name和Address都是String类的最薄包装器。我将最后两个充实并取消第一个。使用您的代码的任何人都必须决定您的日期或java.util.Date。馊主意。改为使用JDK java.util.Date。

答案 1 :(得分:2)

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

public class Address {