草庐IT

default-public

全部标签

java - 公共(public)类与公共(public)静态内部类的异常

我有两个选项(据我了解,它们在技术上是相同的)来声明仅从特定类com.XXX.Foo抛出的自定义异常类:作为包中的公共(public)类:com.XXX.CustomException作为公共(public)静态内部类:com.XXX.Foo.CustomException哪个选项更好? 最佳答案 如果异常是非常特定于Foo类的,我不介意将其保留为public嵌套类。每当需要提取它时,只需提取它即可。不过,在一般实践中,我从未见过任何为Exception定义的嵌套类。我也不知道JavaAPI中是否存在。

java - 公共(public)类与公共(public)静态内部类的异常

我有两个选项(据我了解,它们在技术上是相同的)来声明仅从特定类com.XXX.Foo抛出的自定义异常类:作为包中的公共(public)类:com.XXX.CustomException作为公共(public)静态内部类:com.XXX.Foo.CustomException哪个选项更好? 最佳答案 如果异常是非常特定于Foo类的,我不介意将其保留为public嵌套类。每当需要提取它时,只需提取它即可。不过,在一般实践中,我从未见过任何为Exception定义的嵌套类。我也不知道JavaAPI中是否存在。

java - 没有声明为 public、private 或 protected 的变量是什么?

如果不是:privateJButtontheButton;我这样定义一个字段:JButtontheButton;有什么区别? 最佳答案 包。它们对同一包中的其他类可见。FWIW,我通常在这些上使用我自己的无操作@Package注释,只是为了清楚地表明我知道我在做什么——我不只是忘记了一些东西。尽管它是默认设置,但包访问在高质量代码中的使用可能比其他三种可能性中的任何一种都少——有一个很大的异常(exception):在某些风格的单元测试中,希望能够访问通常是私有(private)的方法或字段。提供访问的一种方法是将它们设置为包访问,

java - 没有声明为 public、private 或 protected 的变量是什么?

如果不是:privateJButtontheButton;我这样定义一个字段:JButtontheButton;有什么区别? 最佳答案 包。它们对同一包中的其他类可见。FWIW,我通常在这些上使用我自己的无操作@Package注释,只是为了清楚地表明我知道我在做什么——我不只是忘记了一些东西。尽管它是默认设置,但包访问在高质量代码中的使用可能比其他三种可能性中的任何一种都少——有一个很大的异常(exception):在某些风格的单元测试中,希望能够访问通常是私有(private)的方法或字段。提供访问的一种方法是将它们设置为包访问,

java - 为什么 Java 8 不允许非公共(public)默认方法?

举个例子:publicinterfaceTesterface{defaultpublicStringexample(){return"Hello";}}publicclassTesterimplementsTesterface{@OverridepublicStringexample(){returnTesterface.super.example()+"world!";}}publicclassInternet{publicstaticvoidmain(String[]args){System.out.println(newTester().example());}}很简单,这将打印

java - 为什么 Java 8 不允许非公共(public)默认方法?

举个例子:publicinterfaceTesterface{defaultpublicStringexample(){return"Hello";}}publicclassTesterimplementsTesterface{@OverridepublicStringexample(){returnTesterface.super.example()+"world!";}}publicclassInternet{publicstaticvoidmain(String[]args){System.out.println(newTester().example());}}很简单,这将打印

java - 在包 ‘<default package>’ 中找到 0 个测试类

我最近安装了IntelliJIDEA13.1.4和jRebel插件。我已经获得许可并在catalina.bat文件中创建和添加配置。从IntelliJ中运行jRebel时,它似乎正在监视正确的目录,但我收到以下消息:0testclassfoundinpackage‘’然后这告诉我它无法启动。有人知道我可能需要更改什么才能使其正常工作吗? 最佳答案 确保您的类(class)被声明为公共(public)而不是“默认”publicclassMyClassTest相对于:classMyClassTest当通过IntelliJ快捷方式创建一个

java - 在包 ‘<default package>’ 中找到 0 个测试类

我最近安装了IntelliJIDEA13.1.4和jRebel插件。我已经获得许可并在catalina.bat文件中创建和添加配置。从IntelliJ中运行jRebel时,它似乎正在监视正确的目录,但我收到以下消息:0testclassfoundinpackage‘’然后这告诉我它无法启动。有人知道我可能需要更改什么才能使其正常工作吗? 最佳答案 确保您的类(class)被声明为公共(public)而不是“默认”publicclassMyClassTest相对于:classMyClassTest当通过IntelliJ快捷方式创建一个

java - 为什么我们应该将接口(interface)方法声明为公共(public)的?

这个问题在这里已经有了答案:ProtectedinInterfaces(15个回答)关闭5年前.当我实现一个interface方法时,我不得不将其设为public方法。在某些情况下,我们可能想要使用default(例如在同一个包中访问的情况)或protected。谁能解释一下这个限制背后的原因? 最佳答案 接口(interface)旨在定义一种类型的publicAPI-仅此而已,而不是其实现。因此,您在接口(interface)中定义的任何方法(或静态成员)按定义都是public。由于接口(interface)不能包含任何具体实现,

java - 为什么我们应该将接口(interface)方法声明为公共(public)的?

这个问题在这里已经有了答案:ProtectedinInterfaces(15个回答)关闭5年前.当我实现一个interface方法时,我不得不将其设为public方法。在某些情况下,我们可能想要使用default(例如在同一个包中访问的情况)或protected。谁能解释一下这个限制背后的原因? 最佳答案 接口(interface)旨在定义一种类型的publicAPI-仅此而已,而不是其实现。因此,您在接口(interface)中定义的任何方法(或静态成员)按定义都是public。由于接口(interface)不能包含任何具体实现,