草庐IT

java - 在声明中初始化与在构造函数中初始化

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ShouldIinitializevariablewithinconstructororoutsideconstructor我想知道,哪种做法更好,为什么。我应该在声明时初始化类字段,还是应该在构造函数中初始化?鉴于这是一个简单的单行初始化。classDude{Stringname="Elduderino";Dude(){//irrelevantcode}}对比classDude{Stringname;Dude(){name="Elduderino";//irrelevantcode}}编辑:我知道其中一种样

java - 是否存在任何库可以提供一种流畅的方式来构造 Java 格式字符串?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。Java格式字符串的语法可能会变得复杂,例如:"|%1$-10s|%2$-10s|%3$-20s|\n"创建流畅的DSL来帮助构建这些格式字符串的时机似乎已经成熟(类似于Jooq对SQL的作用)。有这样的东西吗?

java - new 会返回命名函数构造函数实例吗?

varfoo=function(){returnnewmoo();}varmoo=function(){returnthis;}如果我执行语句newfoo()我真的会得到一个moo实例吗?这看起来既明显又不直观。从功能上讲,这是应该发生的事情,但与此同时,如果您不了解内部结构,这不是预期的。编辑:我意识到公元前这似乎不符合直觉。在Java中,构造函数不能返回任何内容。这与jquery使用的构造函数模式非常相似。 最佳答案 是的,您将获得一个moo实例。不直观是因为你可以在javascvipt构造函数中返回对象本身以外的东西。这是可能

java 中构造器: this的两种用法

第一种:this常规调用属性(不在此阐述)第二种:调用本类中的其他构造方法。this()\this(实参):this():表示调用无参构造方法this(实参):表示调用有参构造栗子:classStudent(){    Stringname;    intage;    Stringsex;    doublescore;    publicStudent(Stringname,intage,Stringsex){    this.name=name;    this.age=age;    this.sex=sex;}publicStudent(Stringname,intage,Strin

java - 为什么Exception将Throwable作为构造函数参数而不是Exception?

我最近注意到Exception有几个构造函数将Throwable作为参数。Throwable有两个子类,Error和Exception,通常所有文档都指示您不应trycatch或处理Error。因此,我很好奇为什么Exception将Throwable作为构造函数参数而不是Exception。这意味着Exception可以用Error作为其原因创建,并且可以由应用程序处理。为什么会这样?自定义Exception类是否应该只提供以Exception为参数的构造函数? 最佳答案 我想这主要是因为:不建议处理错误,但不禁止。无论如何,对接

java - 用Java重写一段C代码构造满二叉树

我想编写一个函数,根据给定的前序和后序数组构造一棵完整的二叉树。我找到了那个链接http://www.geeksforgeeks.org/full-and-complete-binary-tree-from-given-preorder-and-postorder-traversals/它提出了以下C代码:structnode*constructTreeUtil(intpre[],intpost[],int*preIndex,intl,inth,intsize){//Basecaseif(*preIndex>=size||l>h)returnNULL;//Thefirstnodeinp

java - 仅 Autowiring 构造函数的某些参数

在Spring中是否可以仅Autowiring构造函数的特定参数?我定义了:与:publicclassMyClass{privateStringname;privateMyDAOdao;@AutowiredpublicMyClass(Stringname,MyDaodao){//assign...}//...}现在我想要AutowiringMyDao对象,同时显式定义name参数。可能吗?使用XML定义bean需要手动定义所有参数? 最佳答案 你不能用Autowiring的构造函数来做到这一点,因为它会影响所有参数,但你可以这样做:

java - 在 java 构造期间将 `this` 作为参数传递

在java中构造对象时,可以将this作为参数传递给方法吗?想到这样做让我感到不安,但我不确定这是否肯定是错误的。以下面的假设为例:publicfinalclassA{privatefinalBb;privatefinalListwords;publicA(Bb){this.b=b;words=newArrayList();for(inti=0;igetWords(){returnwords;}}publicclassB{//returnsaStringchosenbytheuserbasedonthecurrentstateofApublicStringgetNextStringFr

java - 在构造函数内部或外部设置字段有区别吗?

publicclassTest{intvalue=100;publicTest(){}}和publicclassTest{intvalue;publicTest(){value=100;}}是等价的吧?为什么我宁愿做一个而不是另一个?显然,如果构造函数采用稍后提供给字段的参数是一个原因:publicclassTest{intvalue;publicTest(intvalue){this.value=value;}}或者我可能需要做一些特殊的计算。但如果我不那样做,还有其他充分的理由吗? 最佳答案 嗯,这完全取决于您打算如何使用它。我

java - 在Java中,是否可以通过父类的子类的构造函数来调用父类的父类(super class)构造函数?

我知道措辞有点困惑和奇怪,但请耐心等待,我不知道如何用更短的措词来表达。假设你有一个名为SuperBlah的类,你在一个名为Blah的类中继承了它,然后你将Blah继承到一个名为ChildBlah(所以SuperBlah-Blah-ChildBlah)。如果Blah没有构造函数?对于那些拒绝的人,那为什么这有效?我们有一个名为BlusterBug的类,它扩展了Critter类,并在BlusterBug的构造函数中调用了super。Critter没有构造函数,但Critter扩展的类有构造函数。(我故意省略了类的其余代码)publicclassBlusterCritterextendsC