草庐IT

Private_dirty

全部标签

java - 为什么私有(private)类中有公共(public)方法?

我正在浏览一段代码,它是这样的//comparepointsaccordingtotheirpolarradiuspublicstaticfinalComparatorR_ORDER=newROrder();...privatestaticclassROrderimplementsComparator{publicintcompare(Point2Dp,Point2Dq){doubledelta=(p.x*p.x+p.y*p.y)-(q.x*q.x+q.y*q.y);if(delta0)return+1;return0;}}为什么我们在私有(private)静态类中有这样的公共(pub

java - 使用私有(private)构造函数来防止类的实例化?

现在我正在考虑将一个私有(private)构造函数添加到一个只包含一些String常量的类中。publicclassMyStrings{//Iwanttoaddthis:privateMyString(){}publicstaticfinalStringONE="something";publicstaticfinalStringTWO="another";...}如果我向此类添加一个私有(private)构造函数以防止有人实例化它,是否会有任何性能或内存开销?您认为有必要吗?或者为此目的使用私有(private)构造函数是在浪费时间和代码困惑吗?更新我打算使用私有(private)构

java - 你如何决定定义一个变量 "private"?

我参加了工作面试。面试官问我为什么需要私有(private)变量。如果您通过定义一个变量private来实现某些目标,难道您不能通过定义在java中定义的任何其他访问修饰符来实现同样的目标吗?AccordingtoJavaSpecificationLanguages,Aprivateclassmemberorconstructorisaccessibleonlywithinthebodyofthetoplevelclass(7.6)thatenclosesthedeclarationofthememberorconstructor.Itisnotinheritedbysubclasse

Java 字符串 : private static vs local variable performance

在java中使用privatefinalstaticString与使用每次访问方法时都必须“初始化”的本地字符串变量相比,是否有任何性能优势?我确实认为使用privatestaticfinal字符串对于在一个类的不同部分中重用的常量是一种很好的做法,但是如果一个字符串仅在一个方法中使用,则在一个方法中位置,出于一个没有其他方法关心的非常具体的原因,我实际上更喜欢使用较少的私有(private)成员来保持类的内部接口(interface)干净,并且只使用局部变量。鉴于java有字符串实习,并且实际上保留了一个池,其中包含使用引号声明的每个字符串的单个副本(Strings="somestr

java - 单个文件中的多个类 : modifier private not allowed here

我无法理解为什么这段代码无法编译:classA{publicstaticvoidmain(String[]args){System.out.println("hi");}}privateclassB{inta;}我将内容保存在一个名为A.java的文件中-我收到一个错误:modifierprivatenotallowedhere//whereIhavedefinedclassB当我尝试将B设为私有(private)和protected时,都会发生这种情况。有人可以向我解释这背后的原因吗?谢谢! 最佳答案 来自JavaLanguage

java - 当类被声明为包私有(private)时,我们是否应该声明一个公共(public)构造函数?

我认为在这种情况下不需要声明公共(public)构造函数,因为无论如何都无法在包外访问该类。但是当类只有包私有(private)构造函数时会不会有一些隐藏的影响? 最佳答案 不,您不必声明公共(public)构造函数;包私有(private)构造函数将同样可用。包外的类将无法使用构造函数,因为它们看不到该类。 关于java-当类被声明为包私有(private)时,我们是否应该声明一个公共(public)构造函数?,我们在StackOverflow上找到一个类似的问题:

访问私有(private)变量的 Java 静态方法

我的印象是私有(private)非静态变量只能通过在变量所在的对象上调用的方法访问,但事实并非如此。有人可以解释为什么以下编译和运行背后的原因吗?publicclassSandbox{privateString_privateString="unmodified";publicstaticvoidsetPrivateString(Stringstr,Sandboxs){s._privateString=str;}publicStringtoString(){return_privateString;}publicstaticvoidmain(String[]args){Sandboxs

java - 无法将抽象方法声明为私有(private)

我想做,但我做不到。这是我的情景和理性。我有一个用于测试用例的抽象类,它有一个名为test()的抽象方法。test()方法由子类定义;它是针对某个应用程序用逻辑来实现的,例如CRMAppTestCaseextendsCompanyTestCase。我不希望直接调用test()方法,我希望父类(superclass)调用test()方法,而子类可以调用调用此方法的方法(并且也做其他工作,例如设置当前例如,测试执行前的日期时间)。示例代码:publicabstractclassCompanyTestCase{//Iwishthiswouldcompile,butitcannotbedecl

java - 将类设置为 final 和将类构造函数设置为私有(private)有什么区别

final类和将类构造函数设置为私有(private)的到底有什么区别。我知道两者都不能被子类化(如果我错了请纠正我)。它们有什么区别吗? 最佳答案 无法扩展最终类。它可以防止这种情况finalclassFinalClass{}//andlaterclassExtendedClassextendsFinalClass{//ERROR}这对像String这样的东西很有用-你不希望有人能够覆盖String的逻辑,最常用的对象之一,并且能够,哦,我不知道,添加网络和将您使用的所有字符串发回。如果可以扩展String就可以做到。不能在类外调

java - Java 类中的私有(private)枚举位置

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion在java中的类中声明枚举时,我看到了这两种方法:1)publicclassMyClass{privateenumMyEnum{A,B,C;}/*Staticfields*//*Instancevariables*//*Methods*/}2)publicclassMyClass{/*Staticfields*//*Instancevariables*//*Methods*/private