草庐IT

final-class

全部标签

java - 我什么时候想让我的私有(private)类(class)成为静态的?

一般来说,将私有(private)类声明为静态有什么好处?在什么情况下我希望使用以下其中一种而不是另一种?privatestaticclassFoo{...}对privateclassFoo{...} 最佳答案 我认为这是一个很好的起点:http://java67.blogspot.fi/2012/10/nested-class-java-static-vs-non-static-inner.html1)Nestedstaticclassdoesn'tneedreferenceofOuterclassbutnonstaticnest

java - 我什么时候想让我的私有(private)类(class)成为静态的?

一般来说,将私有(private)类声明为静态有什么好处?在什么情况下我希望使用以下其中一种而不是另一种?privatestaticclassFoo{...}对privateclassFoo{...} 最佳答案 我认为这是一个很好的起点:http://java67.blogspot.fi/2012/10/nested-class-java-static-vs-non-static-inner.html1)Nestedstaticclassdoesn'tneedreferenceofOuterclassbutnonstaticnest

java - 为什么将函数参数声明为 final?

我目前正在阅读Sams出版的《24小时内自学Android应用程序开发》一书。我对Java、Android或其他方面比较陌生。我在ActionScript3方面有非常扎实的背景,它与Java有足够的相似之处,语言本身并不难掌握,但我仍然对书中一些代码示例背后的基本原理有一些疑问。例如,下面是第9小时示例代码附带的一个函数:privatevoidprocessScores(finalTableLayoutscoreTable,XmlResourceParserscores)throwsIOException,XmlPullParserException{在此函数签名中,作者已将score

java - 为什么将函数参数声明为 final?

我目前正在阅读Sams出版的《24小时内自学Android应用程序开发》一书。我对Java、Android或其他方面比较陌生。我在ActionScript3方面有非常扎实的背景,它与Java有足够的相似之处,语言本身并不难掌握,但我仍然对书中一些代码示例背后的基本原理有一些疑问。例如,下面是第9小时示例代码附带的一个函数:privatevoidprocessScores(finalTableLayoutscoreTable,XmlResourceParserscores)throwsIOException,XmlPullParserException{在此函数签名中,作者已将score

java - 为什么 log4j 的 Logger.getLogger() 需要传递一个 Class 类型?

我阅读了一些关于如何使用log4j的文章。他们中的大多数以下面的代码作为开始:Loggerlogger=Logger.getLogger("com.foo.Bar");或Loggerlogger=Logger.getLogger(XXX.class);这将初始化记录器对象。但我的问题是为什么需要发送类类型作为参数?似乎当我使用记录器时,我不在乎我在哪个类中使用它。所以类类型似乎对记录器没有影响。如果我将一个记录器声明为静态和公共(public)的,我可以在另一个类中调用这个记录器,那么作者这样设计它的意图是什么?当我使用记录器时,Class类型会绑定(bind)一些东西吗?或者我可以将

java - 为什么 log4j 的 Logger.getLogger() 需要传递一个 Class 类型?

我阅读了一些关于如何使用log4j的文章。他们中的大多数以下面的代码作为开始:Loggerlogger=Logger.getLogger("com.foo.Bar");或Loggerlogger=Logger.getLogger(XXX.class);这将初始化记录器对象。但我的问题是为什么需要发送类类型作为参数?似乎当我使用记录器时,我不在乎我在哪个类中使用它。所以类类型似乎对记录器没有影响。如果我将一个记录器声明为静态和公共(public)的,我可以在另一个类中调用这个记录器,那么作者这样设计它的意图是什么?当我使用记录器时,Class类型会绑定(bind)一些东西吗?或者我可以将

java - final方法模拟

我需要使用mockito模拟一些带有final方法的类。我写了这样的东西@Testpublicvoidtest(){Bb=mock(B.class);doReturn("barcalled").when(b).bar();assertEquals("mustbe\"overrided\"","barcalled",b.bar());//bla-bla}classB{publicfinalStringbar(){return"fail";}}但它失败了。我尝试了一些“hack”并且它有效。@TestpublicvoidhackTest(){classNewBextendsB{public

java - final方法模拟

我需要使用mockito模拟一些带有final方法的类。我写了这样的东西@Testpublicvoidtest(){Bb=mock(B.class);doReturn("barcalled").when(b).bar();assertEquals("mustbe\"overrided\"","barcalled",b.bar());//bla-bla}classB{publicfinalStringbar(){return"fail";}}但它失败了。我尝试了一些“hack”并且它有效。@TestpublicvoidhackTest(){classNewBextendsB{public

java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。在Java中,您可以使用final关键字限定局部变量和方法参数。publicstaticvoidfoo(finalintx){finalStringqwerty="bar";}这样做会导致无法在方法体中重新分配x和qwerty。这种做法将您的代码推向

java - 为什么要在 Java 中将局部变量和方法参数标记为 "final"?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前.锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或交互。在Java中,您可以使用final关键字限定局部变量和方法参数。publicstaticvoidfoo(finalintx){finalStringqwerty="bar";}这样做会导致无法在方法体中重新分配x和qwerty。这种做法将您的代码推向