【问题标题】:Java objects within class not main类中的 Java 对象不是主要的
【发布时间】:2013-06-04 21:10:46
【问题描述】:

我想知道是否有可能例如从一个类中自动创建 2 个对象到一个新类中,然后使用一个主类为您刚刚创建的新类创建一个新对象。

例如:

Public class Trafficlight(){
 String color;

 public trafficLight(Somecolor){
  this.color = Somecolor;
 }

}


public class CrossRoad(){
 public CrossRoad(){
 trafficLight trafficLightNr1 = new  trafficLight("green");
  trafficLight  trafficLightNr2 = new  trafficLight("red");
 }
}

Public class main
{
   public static void main(String[] args) {
    CrossRoad SomeCrossRoad = new CrossRoad();
    CrossRoad SomeOtherCrossRoad = new CrossRoad();   
    }
}

Ps:如果我的语法有一些错误,我只是写得很快。我只是好奇这是否有可能创造出这样的东西。

【问题讨论】:

  • 当然。为什么它不起作用?
  • 是的,您可以创建包含其他对象的对象。
  • 是的,这是可能的。如果您在此问题出现之前尝试过。看起来问题出在您错误发布的代码中:Public 而不是 public,错误的构造函数名称(类 Trafficlight 有一个 trafficlight constructor)等等......顺便说一句,修复代码后,您可能需要添加一些System.out.println 以向自己展示程序的行为(或逐行调试)。

标签: java class object implementation


【解决方案1】:

是的,这是可能的,但是您需要将这些对象存储在类中,否则当构造函数的范围完成时它们将丢失。

public class CrossRoad(){
    TrafficLight trafficLightNr1;
    TrafficLight trafficLightNr2;
    public CrossRoad(){
        trafficLightNr1 = new TrafficLight("green");
        trafficLightNr2 = new TrafficLight("red");
    }
}

【讨论】:

  • 我觉得好尴尬,你看,我耳朵后面还是青涩的。我正在查看我的语法可能做错了什么,我从来没有教过我忘记存储它们,我非常感谢你的帮助。
  • 没问题,请注意这类问题。如果您还没有编写代码,它可能会因为缺乏尝试而被否决:)
猜你喜欢
  • 2015-12-25
  • 2023-02-26
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 2010-10-07
相关资源
最近更新 更多