草庐IT

Java内部类和继承

我正在阅读ThinkingInJava,我遇到了一个小问题。我正在做第8章的练习12。Createaninterfacewithatleastonemethod,initsownpackage.Createaclassina>separatepackage.Addaprotectedinnerclassthatimplementstheinterface.Inathird>package,inheritfromyourclassand,insideamethod,returnanobjectoftheprotected>innerclass,upcastingtotheinterfac

java - 为什么我们可以有静态最终成员但不能在内部类中有静态方法?

为什么在非静态内部类中可以有staticfinal成员但不能有static方法?我们可以在不实例化内部类的情况下在外部类之外访问内部类的staticfinal成员变量吗? 最佳答案 您可以在static“内部”类中使用静态方法。publicclassOuter{staticStringworld(){return"world!";}staticclassInner{staticStringhelloWorld(){return"Hello"+Outer.world();}}publicstaticvoidmain(Stringarg

java - 错误 - 内部类中的非法静态声明

这是什么意思?IllegalstaticdeclarationininnerclassMobile.mymobilemodifier'static'isonlyallowedinconstantvariabledeclarationsLine75,publicstaticvoidmain(String[]args){我的代码:/***towriteasimplejavaclassMobilethatmodelsamobilephone.**@author(jamal)*@version(14/10/13)*/publicclassMobile{//typeofphoneprivateS

java - 解释一下java访问内部类的方法?

这个问题在这里已经有了答案:Javainnerclassandstaticnestedclass(28个答案)关闭8年前。classOuter{classInner{}}publicclassDemo{publicstaticvoidmain(Stringargs[]){Outero=newOuter();Outer.Innerinner=o.newInner();}}我为Inner类对象创建引用的方式类似于访问Outer类中的static成员?能否请您解释一下这背后的机制?

java - Java 内部类的类引用

有没有办法引用任何内部类?我想指定一个与内部类兼容的返回类型,例如Classsome_method();我了解此语法无效。有没有办法表达这个?我知道我不能使用像Class这样的东西因为内部类不会扩展外部类。 最佳答案 嗯,你可以引用具体的内部类,至少:Classsome_method()除此之外,返回任何内部类的对象会有什么好处?这相当于返回任何对象加上内部实例与外部实例具有特殊关系这一事实。但是,您可能无法直接使用该特殊关系。编辑:正如其他人已经指出的那样,InnerClass可能是由其他内部类扩展的父类(superclass)。

java - 在 Java 中,嵌套类与其外部类之间的关系是什么?

嵌套类在实例化时如何引用外部类?它总是扩展外部类还是以其他方式引用它?有人告诉我,内部扩展了外部,但为什么下面的示例不起作用?例如:publicclassOuterClass{publicStringfruit="apple";publicclassInnerClass{publicStringfruit="banana";publicvoidprintFruitName(){System.out.println(this.fruit);System.out.println(super.fruit);}}}上面的代码不会编译为super.fruit的错误,表示无法解析“fruit”。但

java - switch 使用未定义的内部类在 tomcat 中导致 NoClassDefFoundError

我有一个非常简单的枚举my.package.data.utilpublicenumMode{SQLEXPORT,PREVIEW,PRINT}在另一个类中使用,因为应该使用枚举my.package.program.ComponentControllerswitch(_mode){//line278,_modeisoftypemy.package.data.util.ModecasePREVIEW://Dothingforpreviewbreak;caseSQLEXPORT://DothingforSQLbreak;casePRINT://Dothingforprintbreak;defa

java - 从外部类继承内部类与其他内部类

我很困惑为什么这是允许的publicclassFoo{classBarextendsFoo{}}这是不允许的publicclassFoo{classBarextendsFoo{}classFooeyextendsBar{}}在调用父类(superclass)型构造函数之前,编译器通知它不能引用Fooey.this。这是允许的publicclassFoo{staticclassBarextendsFoo{}classFooeyextendsBar{}}这是怎么回事?我在哪里可以找到有关内部类继承如何工作的更多信息?编辑我想到了两个相当糟糕的想法;内部类扩展外部类,内部类扩展其他静态内部类

java - Scala 闭包与 Java 内部类的比较 -> final VS var

我首先问了这个关于在Java中将final与匿名内部类一起使用的问题:Whydoweusefinalkeywordwithanonymousinnerclasses?我实际上正在阅读MartinOdersky的Scala书。Scala似乎简化了很多Java代码,但对于Scala闭包,我可以注意到一个显着差异。虽然在Java中我们用匿名内部类“模拟”闭包,捕获一个最终变量(它将被复制到堆上而不是堆栈上),但在Scala中我们似乎可以创建一个闭包来捕获一个val,也是一个var,因此在闭包调用中更新它!这就像我们可以在没有final关键字的情况下使用Java匿名内部类!我还没有读完这本书,

java - 为什么我不能在泛型类上静态引用内部类的静态方法?

请完成整个问题以获得完整的想法。先让类(class)Box给出如下:-publicclassBox{privateTt;publicvoidset(Tt){this.t=t;System.out.println("value:\n");System.out.printf("%s",t.toString());}publicTget(){returnt;}staticintretInt(){return5;}publicvoidinspect(Uu){System.out.println("T:"+t.getClass().getName());System.out.println("U