构造函数

java – 验证逻辑应该在哪里?

);您确定系统的每一层都将以相同的方式进行验证;>你可以轻松地单独测试这个逻辑.更具体地说,您至少会在构造函数中调用此逻辑,以强制对象的有效性:实用类:Pojo类:请注意静态import语句以提高可读性.如何测试我的Pojo?

具有时间轴的JavaFX实时LineChart

我试图用时间轴绘制实时图,但是我发现LineChart构造函数只有签名.我认为在javafx中嵌入jfree图不是一个正确的解决方案.我想要一个javafxLineChart中的几个jfree功能,这是可能的吗?

java – 这个类是单身吗?

下面列出的类是单身人士吗?由于构造函数被声明为public,我可以推断该类是一个错误实现的单例吗?

java – 如何在抽象超类中定义常量/最终变量,但将其分配给子类?

我有一个抽象类,我想要声明最终变量.但是,我只想在我的子类的构造函数中为这些变量赋值.显然,这是不可能的,因为所有的“最终的字段都必须被初始化”.我不明白为什么,因为不可能实例化一个抽象类.我想要的是这样的:我想象一下类似于实现接口的方法.那么你也被迫在(子)类中实现方法.解决方法您应该在抽象类中定义一个构造函数,该构造函数为一个值赋值,并从您的子类中调用此构造函数.这样,您将确保始终初始化最终属

java – 番石榴:为什么方法create()而不是构造函数?

请问,你能解释为什么番石榴的创作者喜欢将构造函数定义为私有的,并且定义静态方法create()来创建对象?解决方法有效的Java项目1:考虑静态工厂方法而不是构造函数.静态工厂方法的一些优点包括:>他们自动推断Java7之前的类型参数.>它们允许我们控制继承模式:我们可以在Guava中子类化集合类型,而不会让外部代码将它们分类.>他们让我们返回所需类型的任意子类,让我们更好地隐藏实现细节.

什么是Java中的对象字段初始化和构造函数顺序

我今天早些时候在代码中结束了以下场景(我承认有点奇怪,我已经重构了).当我运行单元测试时,我发现在超类构造函数运行的时候没有设置字段初始化.我意识到我并不完全理解构造函数/字段初始化的顺序,所以我希望有人向我解释这些发生的顺序.来自JUnit的缩写回溯如下,我想我期望$Foo.设置foo.解决方法是的,在Java中(例如,与C#不同)字段初始值设定项在超类构造函数之后调用.这意味着在执

为什么Java的TreeSet没有指定其类型参数必须扩展可比性?

例如当第二个Object添加到TreeSet时,下面的代码会抛出ClassCastException.已经写了TreeSet,所以type参数只能是一个可比较的类型?即TreeSet不会编译,因为Object不可比较.仿制药实际上做了他们的工作–是类型安全的.解决方法如果该类型必须是可比较的,则无法创建具有不可比较类型和比较器的TreeSet(可以像现在这样).一种同时保持类型安全性的方法一直是有

泛型默认构造函数Java

我如何为数据分配默认值?解决方法Bozho是对的(你不能).如果你绝对希望它从一个值开始,那么将该值作为构造函数的一个参数.例如:

javax.mail.Session有什么用?

我正在修一个负责发送电子邮件的班级.它看起来像这样(简化):在我的工作中,我将会话设置为null,令我惊讶的是,课程仍然很好.如果我将null传递给MimeMessage构造函数并不重要.它不会抛出异常或任何东西.此外,Transport.send()方法包括以下行:240Sessions=(msg.session!msg.session:241Session.getDefaultInstance;因此,如果会话为null,则只使用系统属性创建一个新会话.那么创建一个Session对象的目的是什么呢?我查