有什么区别classx{//codehere}和publicclassx{//codehere}有时我在Internet上看到示例,它们会有publicclass而不是class,它们都是简单的程序。我使用class来完成我的作业,其他人也是如此 最佳答案 第一个将导致您的类被分配默认可见性,即package-private(即:可在同一package内访问)。第二个使其public,即对任何其他类可见。引用:ControllingAccesstoMembersofaClass 关于Ja
有什么区别classx{//codehere}和publicclassx{//codehere}有时我在Internet上看到示例,它们会有publicclass而不是class,它们都是简单的程序。我使用class来完成我的作业,其他人也是如此 最佳答案 第一个将导致您的类被分配默认可见性,即package-private(即:可在同一package内访问)。第二个使其public,即对任何其他类可见。引用:ControllingAccesstoMembersofaClass 关于Ja
我正在为SCJP资格阅读的书中有一个声明,上面写着:Fileswithnopublicclasseshavenonamingrestrictions这让我问,你为什么要这样做?如果没有公共(public)类,那么其他类如何导入和使用该文件?我能看到的唯一目的是文件本身是否独立运行,这也可能很奇怪,例如在一个文件中包含整个应用程序 最佳答案 这对package-private有效类(class)也是如此。您可以在同一个包中使用包私有(private)类。(在这种情况下,您不必导入它,因为它在同一个包中。)例如,JapaneseImpe
我正在为SCJP资格阅读的书中有一个声明,上面写着:Fileswithnopublicclasseshavenonamingrestrictions这让我问,你为什么要这样做?如果没有公共(public)类,那么其他类如何导入和使用该文件?我能看到的唯一目的是文件本身是否独立运行,这也可能很奇怪,例如在一个文件中包含整个应用程序 最佳答案 这对package-private有效类(class)也是如此。您可以在同一个包中使用包私有(private)类。(在这种情况下,您不必导入它,因为它在同一个包中。)例如,JapaneseImpe
我有两个选项(据我了解,它们在技术上是相同的)来声明仅从特定类com.XXX.Foo抛出的自定义异常类:作为包中的公共(public)类:com.XXX.CustomException作为公共(public)静态内部类:com.XXX.Foo.CustomException哪个选项更好? 最佳答案 如果异常是非常特定于Foo类的,我不介意将其保留为public嵌套类。每当需要提取它时,只需提取它即可。不过,在一般实践中,我从未见过任何为Exception定义的嵌套类。我也不知道JavaAPI中是否存在。
我有两个选项(据我了解,它们在技术上是相同的)来声明仅从特定类com.XXX.Foo抛出的自定义异常类:作为包中的公共(public)类:com.XXX.CustomException作为公共(public)静态内部类:com.XXX.Foo.CustomException哪个选项更好? 最佳答案 如果异常是非常特定于Foo类的,我不介意将其保留为public嵌套类。每当需要提取它时,只需提取它即可。不过,在一般实践中,我从未见过任何为Exception定义的嵌套类。我也不知道JavaAPI中是否存在。
如果不是:privateJButtontheButton;我这样定义一个字段:JButtontheButton;有什么区别? 最佳答案 包。它们对同一包中的其他类可见。FWIW,我通常在这些上使用我自己的无操作@Package注释,只是为了清楚地表明我知道我在做什么——我不只是忘记了一些东西。尽管它是默认设置,但包访问在高质量代码中的使用可能比其他三种可能性中的任何一种都少——有一个很大的异常(exception):在某些风格的单元测试中,希望能够访问通常是私有(private)的方法或字段。提供访问的一种方法是将它们设置为包访问,
如果不是:privateJButtontheButton;我这样定义一个字段:JButtontheButton;有什么区别? 最佳答案 包。它们对同一包中的其他类可见。FWIW,我通常在这些上使用我自己的无操作@Package注释,只是为了清楚地表明我知道我在做什么——我不只是忘记了一些东西。尽管它是默认设置,但包访问在高质量代码中的使用可能比其他三种可能性中的任何一种都少——有一个很大的异常(exception):在某些风格的单元测试中,希望能够访问通常是私有(private)的方法或字段。提供访问的一种方法是将它们设置为包访问,
举个例子:publicinterfaceTesterface{defaultpublicStringexample(){return"Hello";}}publicclassTesterimplementsTesterface{@OverridepublicStringexample(){returnTesterface.super.example()+"world!";}}publicclassInternet{publicstaticvoidmain(String[]args){System.out.println(newTester().example());}}很简单,这将打印
举个例子:publicinterfaceTesterface{defaultpublicStringexample(){return"Hello";}}publicclassTesterimplementsTesterface{@OverridepublicStringexample(){returnTesterface.super.example()+"world!";}}publicclassInternet{publicstaticvoidmain(String[]args){System.out.println(newTester().example());}}很简单,这将打印