Tag: 内部类

为什么javac会创建一个额外的类?

我编译了以下代码(为简洁起见,省略了方法和变量): // Outer.java public class Outer { private class Inner { } void someMethod() { Inner inObj = this.new Inner(); } public static void main(String s[]) { Outer outerObj = new Outer(); } } 当我列出创建的类时,它显示以下内容: Outer$1.class Outer$Inner.class Outer.class 外部和外部$ Inner看似合乎逻辑。 外部1美元课程的目的是什么? 在时间尺度上创建这些的顺序是什么?

Java中的自定义枚举

我需要实现自定义Enum。 它应该是一些实现Enum方法的类,比如valueOf,values和ordinal而不直接扩展java.lang.Enum。 我一直在考虑以这样的方式创建它,而不是String应该是一些generics类型T: public class CustomEnum { private static int size; private static final InnerEnum enumValues; public CustomEnum(){ } public String valueOf(String innerEnum, String name){ if(name.equals(innerEnum)){ return innerEnum; } return null; } public InnerEnum values(){ return enumValues; } public int ordinal(){} public static class InnerEnum{ public static String[] data; public static int number; } } […]

Java – 如果字段具有相同名称,如何访问外部类字段

请考虑以下代码 class OuterClass{ class InnerClass{ int x; int y; void calculateX(){ x = y+z;//I want to access the y field of the outer class } void printX(){ print(); } } int y; int z; InnerClass instance; OuterClass(int y,int z){ this.y = y; this.z = z; instance = new InnerClass(); instance.y = 10; instance.calculateX(); instance.printX(); } […]

Java OOP基础知识

我有一个问题,一直阻碍我进一步推进,这个错误在我看来根本不符合逻辑,我从一本书中学习,代码来自那里。 这是代码: package test_area; public class clzzz { class SimpleCircle{ double radius; SimpleCircle() { radius = 1; } SimpleCircle(double newRadius) { radius = newRadius; } double getArea() { return radius*radius*Math.PI; } double getPerimeter() { return 2*radius*Math.PI; } void setRadius(double newRadius) { radius = newRadius; } } public static void main(String[] args) { SimpleCircle circle1 = […]

内部类的Android数据绑定不更新TextView

应用程序运行,但TextView没有得到更新这里是相关的代码。 activity_picker_dashboard.xml This layout has databinding ….. 这是layout_header.xml …………… 这是我的模型ProfileResponse.java public class ProfileResponse { public Payload getPayLoad() { return payLoad; } @SerializedName(“Payload”) private Payload payLoad; public static class Payload { public String getProfileId() { return profileId; } public String getUserId() { return userId; } public String getFirstName() { return firstName; } public String getLastName() { […]

编译器正在创建带有$的额外类文件

我正在使用Eclipse,我使用SWT编写了一个Java应用程序。 当Eclipse编译我的程序时,它将我的主文件重命名为4个不同的文件,如下所示: MainFile.class MainFile $ 1.class MainFile $ 2.class MainFile $ 3.class 当我从命令行运行这个程序时,我得到了 找不到主类:MainFile.class。 程序将会退出。 我真的不明白为什么会这样。

如何通过Android上的reflection实例化成员类

我有一个保存/加载框架,应该保存任意对象图。 这包括非静态嵌套类的实例。 嵌套类需要由创建它们的父类实例拥有,嵌套类使用合成字段知道它所属的实例。 举个简单的例子,我提出这个类: public class Foo implements Savable { private class Bar implements Savable { public void saveState(Saver saver) { saver.putInt(3); } } private Bar myBar = new Bar(); public void saveState(Saver saver) { saver.putSavable(myBar); } } 在“标准”编译器上,以下代码可以很好地接受一个对象( myBar ),找到它的父( Foo一个特定实例),并保持对子的引用: if (objectClass.isMemberClass()) { //We are a member class, which means we are a […]

Java Generics:无法创建嵌套类的数组

我正在尝试将AVLTree实现转换为堆样式数组,并且在generics方面存在一些问题: public class MyAVLTree<K extends Comparable, E> implements OrderedDictionary { class AVLNode implements Locator{ // … } // …. public Locator [] toBSTArray() { AVLNode[] bArray = new AVLNode[size]; makeArray(root, 0, bArray); // recursion return bArray; } } 在行AVLNode[] bArray = new AVLNode[size]; 我收到以下错误: “无法创建MyAVLTree.AVLNode的通用数组” 我不明白我做错了什么。 有帮助吗?

在java文件外定义内部类

我想创建一个类ClassB作为ClassA内部类,但我想在ClassA.java文件外写下来。 我怎样才能做到这一点? 它将是很多内部类,而ClassA.java文件将是巨大的 。 UPDATE 我真正想要做的是定义十个类,它们只能由一个类访问。 所有这些都在同一个包中定义。 谢谢。

将java外部类编译为内部类

我需要给websphere一个补丁。 我有一个主要的java类,它有三个内部类。 我对主类的代码更改很少,但对内部类没有任何更改。 现在我的问题是,我是否需要将所有内部类与主类文件一起作为补丁或主类的一部分来充分?