我一直在阅读两篇文章(1)(2)在javaworld.com上,关于所有类字段应该是私有(private)的,而getter/setter方法同样糟糕。对象应该对其拥有的数据进行操作,而不是允许对其进行访问。我目前正在为ConnectFour完成大学作业。.在设计程序时,玩游戏的代理需要访问棋盘的状态(这样他们就可以决定要移动什么)。他们还需要将此举动传递给游戏,以便将其验证为合法举动。在决定要移动什么的过程中,碎片被分组为带有起点和终点的威胁。Board、Threat和Point对象实际上并没有做任何事情。它们只是用来存储可以以人类可读方式访问的相关数据。在设计之初,我将板上的点表示
私有(private)jre和公共(public)jre有什么区别?有没有关于这个主题的官方论文?我没有找到关于这个主题的任何问题。我也无法在周围找到令人满意的东西。 最佳答案 AJREisnothingbutafolderthatcontainsJVMexecutables,settingfiles,requiredlibfiles,andextensions.YoucaninstallmultipleJREsonyoursystemSungenerallyinstallsversionsinC:\ProgramFiles\Jav
我遇到了一个问题语句来查找给定两个子字符串之间的所有公共(public)子字符串,这样在每种情况下您都必须打印最长的子字符串。问题陈述如下:Writeaprogramtofindthecommonsubstringsbetweenthetwogivenstrings.However,donotincludesubstringsthatarecontainedwithinlongercommonsubstrings.Forexample,giventheinputstringseatsleepnightxyzandeatsleepabcxyz,theresultsshouldbe:eat
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭上个月。社区在上个月审核了是否重新开放这个问题并关闭:原始关闭原因未解决Improvethisquestion在我多年的编程生涯中,我经常制作简单地将一些变量与它们的setter和getter组合在一起的类。我已经看到根据使用它们的上下文将这些类型的对象称为值对象、域对象或模型对象。最适合通用用法的术语似乎是数据传输对象(DTO)。这描述了一个只包含访问器和修改器的POJO。我刚刚编写了一个这样的对象,其中包含大约50个字段,用于在图
如果Javadoc未满足特定方法或字段的要求,Eclipse能够提供警告。这些字段/方法可以按范围(公共(public)、protected等)分组。在准备我的软件以提交给大学或其他什么时,我发现这确实非常有用。这在IntelliJ中是不可能的吗?请注意,我知道您可以在IntelliJ中的方法之前点击“/**”,它会填写它。这不正是我所追求的。另请注意,我使用的是IntelliJ13.01社区版。 最佳答案 对于旧版本的IntelliJ:首选项>检查>JavaDoc问题>声明有JavaDoc问题对于较新版本的IntelliJ:文件>
我正在检查StringTokenizer.java类,我想到了几个问题。我注意到其他类将使用的公共(public)方法调用了一些完成所有工作的私有(private)方法。现在,我知道OOD的原则之一是尽可能多地私有(private)化并隐藏所有实现细节。我不确定我是否完全理解这背后的逻辑。我了解将字段设为私有(private)以防止在其中存储无效值非常重要(这只是众多原因之一)。但是,当涉及到私有(private)方法时,我不确定它们为什么如此重要。例如,在StringTokenizer类的情况下,我们不能把所有的实现代码都放在公共(public)方法中吗?由于这些方法的API(即调用
给定一组类,找到最近的公共(public)父类(superclass)的最佳方法是什么?例如,给定以下内容:interfaceA{}interfaceB{}interfaceABextendsA,B{}interfaceC{}classAImplimplementsA{}classABImplimplementsAB{}classABImpl2implementsA,B{}classBCImplimplementsB,C{}我希望以下内容(并非详尽无遗):commonSuperclass(A,AImpl)==AcommonSuperclass(A,B,C)==Objectornull,
我正在尝试编写程序,但出现此编译器错误:Main.java:1:error:classWeatherArrayispublic,shouldbedeclaredinafilenamedWeatherArray.javapublicclassWeatherArray{^1error我检查了我的文件名,我的公共(public)类与我的.java文件相同。我该如何解决这个问题?这是我的代码:publicclassWeatherArray{publicstaticvoidmain(String[]args){//...}} 最佳答案 公共(
我正在阅读这篇文章WhywouldastaticnestedinterfacebeusedinJava?特别是第一个答案。在那个答案中,在接口(interface)字段上使用“public”或“publicfinal”这些词是多余的。我的问题是:为什么?我为什么要删除它们?如果我有这样的事情:publicinterfaceInt1{publicvoidadd();voidremove();}这是否意味着我希望add方法由任何类实现,而remove方法只能由我的同一个包的类实现? 最佳答案 Are“public”and“publicf
我注意到,如果我不在类之前编写public,它的工作方式与publicclass相同。我不明白为什么会这样?当我没有将类声明为public、private或protected时,它应该会显示错误。但它工作正常。是什么原因? 最佳答案 Ihavenoticedthatifdon'twritepublicbeforeaclassitsworkssameaslikeapublicclass.不,它没有。除非它是公共(public)的,否则不在同一个包中的其他代码将看不到该类。默认的可访问性(不能明确指定)是类(或其他成员)仅对同一包中的其