我在Java中有一个“私有(private)静态”嵌套类。此类中的字段和方法的访问修饰符有什么意义?我已经尝试过公共(public)和私有(private),对我的申请没有影响。publicclassMyList{privatestaticclassNode{//ListnodeprivateObjectitem;privateNodenext;privateNodeprev;privateNode(Nodenext){this.next=next;}privatestaticNodedoStuff(){}}} 最佳答案 因为是嵌套
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion在Java中声明变量时,“protected”和“无访问修饰符”有什么区别?一样吗?
我有一个快速而简单的问题。我习惯于将每一节课都设为“最后一节课”,当然,除非它需要由另一节课扩展。这是坏习惯吗?好习惯?这有关系吗?我了解修饰符对类的影响。提前致谢!编辑:这是一个示例代码。此类不会被任何其他类扩展。publicfinalclassApplication{/***Startstheapplication.**@paramargumentsargumentsprovidedfromcommand-line*/publicstaticvoidmain(String[]arguments){LaunchUtilitiesutil=newLaunchUtilities(newE
以下Swing代码在我的机器或我同事的机器(所有WindowsXP和Java6)上不能正常工作:publicclassTest{publicstaticvoidmain(String[]args){finalJFrameframe=newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800,600);frame.setLayout(newFlowLayout());frame.add(newJButton(newAbstractAction("Maximize"){@Overrid
我发现了protected的这种用法为我的其他问题寻找解决方案时的修饰符:IgnoringcaseinstringswithunitilsReflectionComparator在org.unitils.reflectionassert.ReflectionComparatorFactory类有一个带有签名的方法:protectedstaticListgetComparatorChain(Setmodes)但这只是特例。毕竟我们总是可以扩展这样的任何非最终类并“覆盖”它是静态的protected新方法public修饰符。说,我们有一个类A:publicclassA{protecteds
我可以用修饰符声明以下包,但它似乎对任何东西都没有任何影响:privatepublicprotectedstaticfinalpackagecom.stackoverflow.mangodrunk//...classWhatever{//...}所以我的问题是,在包声明之前添加修饰符是否有任何作用,为什么编译器允许这样做?更新:似乎是与Eclipse捆绑在一起的编译器的问题,正如其他人提到的那样,这是使用Sun的JDK的编译器错误。 最佳答案 他们不是。您使用的是哪个编译器?$javaccom/stackoverflow/mango
classTest{publicstaticvoidmain(String[]args){privateintx=10;publicinty=20;protectedintz=30;staticintw=40;finalinti=50;}}此处唯一适用的修饰符是final;对于其他修饰符,程序给出编译器错误。这是为什么?请详细说明。 最佳答案 简而言之-在这种情况下,其他修饰符都没有意义。说一个变量是public、private、protected或static在上下文中根本没有意义一旦方法退出,将超出范围(并被垃圾收集)的局部变量
对于一些Java字节码解析器项目,我阅读了JVM规范并发现Java虚拟机类文件格式访问修饰符字段的位掩码值是ACC_PUBLIC=0x0001ACC_FINAL=0x0010ACC_SUPER=0x0020#oldinvokespecialinstructionsemantics(Java1.0x?)ACC_INTERFACE=0x0200ACC_ABSTRACT=0x0400ACC_SYNTHETIC=0x1000ACC_ANNOTATION=0x2000ACC_ENUM=0x4000我不知道0x1000是干什么用的。我在一个内部类中看到过一次,但从那以后我检查过的所有内部类都没有设
我想自定义我的标题栏、最小化、最大化和关闭按钮。所以我在JFrame上使用了setUndecorated(true);,但我仍然希望能够调整窗口大小。实现它的最佳方法是什么?我在RootPane上有一个边框,我可以在边框或RootPane上使用MouseListeners。有什么建议吗?importjava.awt.Color;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;importjavax.swing.border.Li
这个问题在这里已经有了答案:Whycanmethodreferenceusenon-finalvariables?(4个答案)关闭去年。考虑以下类(class):classFoo{voidhandle(Tt){System.out.println("handling"+t);}publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add(1);list.add(2);Foof=newFoo();list.forEach(f::handle);//compilesfine//list.forEach(obj->f.