【问题标题】:Java: Calling values from another classJava:从另一个类调用值
【发布时间】:2017-03-13 10:22:52
【问题描述】:

好的,所以我必须创建一个具有私有日期日期和私有时间时间属性的约会类,这些属性指的是已经创建的具有相同名称(日期、时间)的类。但事情是……我的 Date 类具有属性 day ,月,年和时间有小时,分钟,我已经设置了它们的值..如何在约会类中使用私有日期日期并获取两个类的属性值..如果问题是,我很抱歉有点混乱或什么..我一直在试图弄清楚这一点,但我什至不知道这样做甚至被称为..是在新类中声明另一个类还是什么?请帮忙。谢谢

【问题讨论】:

  • 请贴一些代码。听起来你需要阅读“java中的引用传递”
  • 既然 Java API 已经有了日期和时间类,为什么还要创建自己的类?

标签: java arrays eclipse class


【解决方案1】:

如果我理解正确,您的课程如下所示:

  class Appointment {
    private Date date;
    private Time time;
    }

class Date {
private String day;
private String month;
private int year;
}

class Time {
private int hour;
private int minutes;
}

并且您已经有一个时间和日期实例,每个实例都设置了它们的值,现在您想在约会类中设置这些日期和时间值吗?

如果是,您可以使用 Setter 或构造函数。

如果您使用 setter,您的 Appointment 类将如下所示:

 class Appointment {
    private Date date;
    private Time time;

    public void setDate(Date date){
        this.date = date;
    }
    public void setTime(Time time) {
        this.time = time;
    }
}

然后你会像上面这样使用:

public static void main(String[] args){
  Date yourDate = new Date("Monday",2,1993); //the date object which you already have
  Time yourTime = new Time(5,6); // the time object that you already have

  Appointment yourAppointment = new Appointment(); //creating an empty Appointment object
  yourAppointment.setDate(yourDate); //setting your created date in appointment
  yourAppointment.setTime(yourTime); //setting your created time in appointment
}

或者您可以在约会类中使用构造函数而不是设置器。 现在约会类看起来像:

 class Appointment {
        private Date date;
        private Time time;

       private Appointment(Date date, Time time){
           this.date = date;
           this.time = time;
       }
    }

然后您可以像这样设置日期和时间值:

    public static void main(String[] args){
      Date yourDate = new Date("Monday",2,1993); //the date object which you already have
  Time yourTime = new Time(5,6); // the time object that you already have

  Appointment yourAppointment = new Appointment(yourDate,yourTime); 
}

【讨论】:

    【解决方案2】:

    不知道你真正想做什么,贴一些代码。

    无论如何,听起来您需要在主类上实例化 Date 类和 Time 类才能使用它。

    Date d=new Date();
    Time t=new Time();
    

    这将是评论,但我还没有足够的代表。对不起。

    【讨论】:

      【解决方案3】:

      如果你的班级有私有属性,你需要有一个“getter”方法来访问其他班级。请在下面找到 getter 和 setter 的示例:

      private String myField; //"private" means access to this is restricted
      
          public String getMyField()
      {
           //in order to have access
          return this.myField;
      }
      public void setMyField(String value)
      {
           //in order to set value
           this.myField = value;
      }
      

      【讨论】:

        猜你喜欢
        • 2017-09-25
        • 1970-01-01
        • 2021-12-05
        • 2023-04-04
        • 2021-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多