我有一个让我很困惑的问题。首先,我将讲述我对从特定类实例化对象的了解。
我们通过声明类型(也可能是接口(interface)类型)、引用名称(变量)来创建类的实例(或对象),在等于运算符的另一侧我们使用关键字 new 为特定类型的对象保留内存。我们用构造函数调用来完成一个语句(不能是接口(interface),因为接口(interface)无法实例化)
某些类具有构造函数,声明为私有(private)。这意味着我们不能使用构造函数调用来创建新对象。
作为替代,某些类“允许”通过公共(public)或静态方法实例化对象,例如 Calendar 类。我们得到这个类的一个实例,如下所示:
日历变量RepresentingAnInstanceOrObject = Calendar.getInstance();
(以上如有错误,欢迎指正)
好吧,现在我有一个问题,因为我是 java 初学者,所以我对 JodaTime 库中的一些类有点困惑。 有一些类名为 Minutes或Hours等等。我已经阅读了这些类的文档,但我不明白如何实例化它们。我不能使用关键字 new 因为构造函数是私有(private)的( Eclipse 告诉我构造函数不可见)。在分钟(但不是小时)的声明中,表示:分钟数在构造函数中设置,并且可以使用 getMinutes() 进行查询。据我所知,它们既没有公共(public)方法也没有静态方法可供使用(如日历类)。
哪个构造函数?怎么称呼呢?
我是否错过了文档中的某些内容,或者我在学习java时错过了某些内容?有人可以向我解释一下吗?我真的会很感激。提前致谢 =)
最佳答案
该类提供了一些工厂方法,例如:
Minutes m = Minutes.minutes(5); // a period of 5 minutes
Minutes m = Minutes.minutesBetween(date1, date2);
检查javadoc中返回Minutes
对象的static
方法,大部分都是工厂方法。
关于java - JodaTime,实例化一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13682198/