在构造函数内部的用户输入待定



我在考虑这种做法有多糟糕,当您这样做时:

SomeConstructor(){
 Scanner sc = new Scanner(System.in);
 a = sc.nextInt();
}

java允许我这样做,但是我从未见过有人写这样的代码,所以问题是可以创建这样的问题,如果是不好的做法,请向我解释一下。

简单:真的糟糕。

构造函数的主要目的当然是对新创建的对象进行INTIAL。但是:您非常喜欢传递值。

含义:当您从标准中读取构造函数时,这几乎无法轻松单元测试相应的类!

您想遵循单一责任原则。喜欢:一个班级负责收集输入。然后,另一个类别负责处理该输入。您的方法将导致首先获取价值的课程,然后与它们合作。如所说:您想避免。

相关内容

  • 没有找到相关文章

最新更新