这个问题在这里已经有了答案:Whymightonealsouseablankconstructor?(10个答案)关闭9年前。我一直在自学Java。我了解定义类的范围,但仍然没有理解空构造函数用法的概念。通常我们应该为构造函数传递参数来构建实例对象。但是,我经常看到构造函数的参数为空。例如:classPerson{Stringname;intage;publicPerson();publicPerson(Stringname,intage){this.name=name;this.age=age;}}我研究并阅读了一个使用“鱼”类来解释的例子。所以,这就是我到目前为止的理解:定义类
当我写一个类Widget.javapublicclassWidget{intdata;Stringname;}编译器生成的构造函数是public还是default?公众会像publicclassWidget{intdata;Stringname;publicWidget(){}}而默认类似于publicclassWidget{intdata;Stringname;Widget(){}} 最佳答案 这取决于您的类可见性。编译器使用类可见性并生成具有相同可见性的无参数默认构造函数 关于jav
我最近在阅读一些Java,并遇到了一些对我来说很新的东西(成语?):在程序中,具有多个构造函数的类也将始终包含一个空白构造函数。例如:publicclassGenotype{privatebooleanbits[];privateintrating;privateintlength;privateRandomrandom;publicGenotype(){//第一个构造函数似乎不是“真正的”构造函数,似乎在每种情况下都会使用其他构造函数中的一个。那么为什么要定义该构造函数呢? 最佳答案 我不确定您正在阅读的代码是否高质量(我过去审查
看看下面的代码片段:Aa=nulltry{a=newA();}finally{a.foo();//Whathappensatthispoint?}假设A的构造函数抛出运行时异常。在标记的行,我是否总是保证会得到NullPointerException,或者foo()将在半构造的实例上被调用? 最佳答案 tryblock中的代码包含两个不同的操作:创建一个新的A实例。将新实例分配给名为a的变量。如果第1步抛出异常,第2步将不会执行。因此,您将始终得到一个NullPointerException。
如何在Java中设置String对象的值(不创建新的String对象)? 最佳答案 String上没有“set”方法。字符串是immutable在java。要更改String变量的值,您需要为该变量分配一个不同的字符串。您无法更改现有字符串。(withoutcreatinganewStringobject)赋值不会创建新对象——它会复制引用。请注意,即使您这样写:s="hello";它不会在每次运行时创建一个新的字符串对象。字符串对象将来自字符串池。 关于java-我可以在不使用构造函数
我必须动态创建一个类,但我想使用类构造函数传递参数。目前我的代码看起来像Class_tempClass=(Class)Class.forName(hsaClass);_tempClass.getDeclaredConstructor(String.class);HsaInterfacehsaAdapter=_tempClass.newInstance();hsaAdapter.executeRequestTxn(txnData);如何调用带有参数的构造函数? 最佳答案 你接近了,getDeclaredConstructor()返回一
JodaTime的LocalDate将自己描述为:LocalDateisanimmutabledatetimeclassrepresentingadatewithoutatimezone.但是有一个LocalDate(Objectinstant,DateTimeZonezone)接受时区的构造函数。如果对象是无时区的,那么时区构造函数的目的是什么?构造函数JavaDocs指出:ConstructsaninstancefromanObjectthatrepresentsadatetime,forcingthetimezonetothatspecified.我不知道“强制指定时区”是什么意
我想知道抽象类的构造函数有什么用;因为我们不实例化抽象类,为什么我们需要这样的构造函数? 最佳答案 有时您需要对所有继承类都需要设置的实例变量进行一些公共(public)初始化。当你扩展它时,你确实实例化了一个抽象类,并且该具体类有一个构造函数,该构造函数将参数提供给抽象类的构造函数。 关于java-在Java中为抽象类创建构造函数有什么用?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest
请问这个问题有点理论性,但我想了解它。为什么如果我将null参数传递给构造函数,我会得到一个NullPointerException?这是我的例子newAttendeeDetail("GusGoose","1151","15-01-2012",(Integer)null,null)这是类:publicclassAttendeeDetail{privateStringticketholder_name;privateStringuser_id;privateStringdate_of_birth;privateinttickets_purchased;privateArrayListti
我看过这个论坛上的类似问题,但没有一个能回答我的问题。这听起来很奇怪,但是否可以模拟出对您正在模拟的对象的构造函数调用。例子:classRealGuy{....publicvoidsomeMethod(Customercustomer){Customercustomer=newCustomer(145);}}classMyUnitTest(){publicCustomercustomerMock=createMock(Customer.class)publicvoidtest1(){//icaninjectthemockobject,butit'sstillcallingthecons