草庐IT

protected_class_method

全部标签

Java OOP 公共(public)、私有(private)、 protected

我了解public、private和protected的作用。我知道您应该使用它们来遵守面向对象编程的概念,并且我知道如何在使用多个类的程序中实现它们。我的问题是:我们为什么要这样做?为什么我不应该让一个类直接修改另一个类的全局变量?即使您不应该,为什么还需要protected、private和public修饰符?就好像程序员不相信自己不会这样做,即使他们是编写程序的人。提前致谢。 最佳答案 你是对的,这是因为我们不能相信自己。可变状态是计算机程序复杂性的一个主要因素,构建一开始看起来不错的东西太容易了,但随着系统变大,它会失去控制

java - 带有接口(interface)的 "Cannot reduce the visibility of the inherited method"的含义

我有两个文件:publicinterfacePrintService{voidprint(PrintDetailsdetails);classPrintDetails{privateStringprintTemplate;}publicinterfaceTask{StringACTION="print";}}和publicclassAimplementsPrintService{voidprint(PrintDetailsdetails){System.out.println("printing:"+details);}Stringaction=PrintService.Task.AC

JavaFX : Update UI label asynchronously with messages while application different methods execution

我正在尝试使用应用程序的各种状态消息异步更新我的JavaFxGUI中的标签。例如我的应用程序中的“更新”按钮调用Controller中的方法updateSettings()。现在我尝试通过以下方式更新UI上的标签。@FXMLprivatevoidupdateSettings(){label.text("message1");//someactionlable.text("actiondone");label.text("callingmethod..waitforsometime")//calltotimeconsumingmethod-timeConsumingMethod();la

java - 为什么我们不使用带有 "java"命令的 .class 扩展名?

为什么我们不在java命令后给出filename.class文件,而只是filename?假设我们要编译test.java程序,然后运行javactest.java。没关系!之后它将生成test.class文件,但要运行程序,我们运行javatest而不是javatest.class。这是什么原因? 最佳答案 因为您没有描述要运行的文件。您告诉Java哪个类包含主要方法-类的名称(在您的情况下)是filename,而不是filename.class。字节码几乎总是包含在文件系统的文件中这一事实是一个实现细节。您传递给java命令的类

java - 配置问题 : spring-security-web classes are not available. 你需要这些才能使用 <filter-chain-map>

我正在尝试使用Maven在我的springweb应用程序上运行一些单元测试。该应用程序安装并运行良好,它生成一个可部署的war文件一切正常(全部使用Maven)。我的测试类(位于src/test/java):@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"file:C:/myProjects/myWebapp/src/main/webapp/WEB-INF/applicationContext-test.xml"})@TransactionalpublicclassMyTest{...但是

java - 如何在 Scala 中获取 Java 的 int.class?

我正在使用Scala来处理Java的反射API。但我似乎无法弄清楚如何在Scala中访问Java中的内容:int.class、float.class、boolean.class。基本上是表示原始数据类型的类对象。那么int.class的Scala版本是什么? 最佳答案 int.class、float.class等不存在。每个等效的装箱类型都有一个名为TYPE的静态字段,它表示原始类型。这是你的意思吗?例如对于整数/整数:http://docs.oracle.com/javase/6/docs/api/java/lang/Intege

java - 调用 'Class.forName' 时未检查转换警告

我的代码如下packagecom.foo;publicclassTestComposition{publicstaticvoidmain(String[]args){try{ClassfooClass=(Class)Class.forName("Foo");}catch(ClassNotFoundExceptione){e.printStackTrace();}}}“try”block中的赋值会导致警告Typesafety:UncheckedcastfromClasstoClass这是为什么? 最佳答案 首先,如果您知道确切的类,则

java - Maven "class file for ... not found"编译错误

我有一个Maven项目。当我尝试使用Maven构建它时,出现此错误:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile(default-compile)onprojectmyProject:Compilationfailure:Compilationfailure:[ERROR]ClassA.java:[32,38]cannotaccessClassB[ERROR]classfileforClassBnotfoundClassB位于另一个Artifact内,该Art

java - 双代理接口(interface) : Could not generate CGLIB subclass of class 时 Spring AspectJ 失败

我正在使用Spring的代理一些JPArepository接口(interface)。但是,代理失败并显示以下Cannotsubclassfinalclassclass$Proxy80:CouldnotgenerateCGLIBsubclassofclass[class$Proxy80]:Commoncausesofthisproblemincludeusingafinalclassoranon-visibleclass;nestedexceptionisjava.lang.IllegalArgumentException:Cannotsubclassfinalclassclass$P

java - NoClassDefFoundError : Unable to load class groovy. xml.jaxb.JaxbGroovyMethods 由于缺少依赖项 javax/xml/bind/Unmarshaller

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我们的Gradle构建有--add-modules=java.xml.bind,java.activation,java.xml.ws.annotation至options.compilerArgs在JavaCompile使用JDK9/10构建。现在效果很好,但这些模块已被弃用。我想为JDK11做准