Tag: 字段

Java使用静态字段

我正在上java课,我不得不做一个如下的作业: 创建一个名为Purchase的类。 每次购买都包含发票编号,销售金额和销售税金额。 包括发票编号和销售金额的设置方法。 在销售金额的set()方法中,将销售税计算为销售金额的7.5%(使用购买类中的静态文件)。 还包括一种显示方法,可在格式良好的输出显示中显示购买的详细信息。 将文件另存为Purchase.java。 编译并运行程序,直到它工作,输出看起来不错。 按照课程文档中的说明添加必要的文档,然后将.java文件附加到此分配 我的解决方案如下: import java.util.*; public class Purchase { //Properties of Purchase class – static private static int invoiceNumber; private static double salesAmount; private static double salesTax; //setter for invoiceNumber public static void setInvoiceNum(int invNo){ invoiceNumber = invNo; } //setter for salesAmount public static void setSalesAmount(double salesAmnt){ salesAmount […]

Java Reflection从Field获取实例

有没有办法从一个领域获得实例? 这是一个示例代码: public class Apple { // … a bunch of stuffs.. } public class Person { @MyAnnotation(value=123) private Apple apple; } public class AppleList { public add(Apple apple) { //… } } public class Main { public static void main(String args[]) { Person person = new Person(); Field field = person.getClass().getDeclaredField(“apple”); // Do some […]

公共领域有哪些替代方案?

我正在编写一个java游戏,并且作为问题标题建议我在我的类中使用公共字段。 (暂且) 从我所看到的公共领域是坏的,我有一些理解为什么。 (但如果有人可以澄清你为什么不使用它们,那将不胜感激) 事情是,从我所看到的,(并且似乎合乎逻辑)是使用私有字段,但使用getter和setter访问它们也不好,因为它首先打败了使用私有字段的点。 所以,我的问题是,有哪些替代方案? 或者我真的必须使用私人领域与吸气剂和二传手? 这里是我的一个类及其一些方法的参考。 如果需要,我会详细说明。 public double health; //The player’s fields. public String name; public double goldCount; public double maxWeight; public double currentWeight; public double maxBackPckSlts; public double usedBackPckSlts; // The current back pack slots in use public double maxHealth; // Maximum amount of health public ArrayList backPack = new ArrayList(); […]

按String获取实例化对象

是否有可能在运行时通过字符串获取在代码中实例化的Object? 这样的事情: public String xyz = “aaaa_bbb”; getObject(“xyz”).some function of String (eg: .split(“_”)) 谢谢

在Java中查找不可序列化字段的好方法

我有一个非常复杂的Java对象来序列化(几周前工作正常)。 在此期间实现了很多之后,序列化现在无法抛出以下exception: java.io.NotSerializableException: sun.java2d.SunGraphics2D 我已经检查了所有似乎相关的类,但是在其中任何一个中都没有找到一个包含Graphics2D类型的字段(或类似的类型,如BufferedImage等)。 正如我所看到的,问题也可能是我正在使用一个类(来自库等),它本身是可序列化的,但有一个不可序列化类型的Graphics2D字段。 所以,我的问题是:是否有一种“好”的方法来找到序列化失败的地方? 检查所有类和所做的所有更改似乎都不可行。 先感谢您 卢卡斯 PS。 以下是exception的完整堆栈跟踪: java.io.NotSerializableException: sun.java2d.SunGraphics2D at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.access$300(ObjectOutputStream.java:162) at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1707) at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:482) at java.awt.Container.writeObject(Container.java:3697) at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1378) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) […]

自动填充Java中的WebView字段

所以这是我的问题。 我正在使用JavaFX中的WebView类。 我想要做的是,我希望webview中加载的字段自动填充存储在数组中的信息。 可能吗? 提前致谢

具有动态字段的Java类

我正在寻找构建动态Java类的聪明方法,即可以在运行时添加/删除字段的类。 使用场景:我有一个编辑器,用户应该能够在运行时向模型添加字段,甚至可以在运行时创建整个模型。 一些设计目标: 如果可能的话,在没有强制转换的情况下键入safe,以用于动态字段的自定义代码(该代码将来自以不可预见的方式扩展模型的插件)。 良好的性能(你能击败HashMap吗?也许在设置过程中使用数组并为字段分配索引?) 字段“重用”(即如果在几个地方使用相同类型的字段,则应该可以定义一次然后重复使用它)。 计算字段取决于其他字段的值 当字段更改值时(不一定通过Beans API),应发送信号 “自动”父子关系(当您将子项添加到父项时,子项中的父指针应设置为“free”)。 容易明白 使用方便 请注意,这是一个“在圈外思考”的问题。 我将在下面发布一个例子让你心情愉快:-)

Java:接口与抽象类(关于字段)

根据我收集的内容,我想强制一个类使用特定的私有字段(和方法)我需要一个抽象类,因为接口只声明public / static / final字段和方法。 正确?? 我刚开始我的第一个大型java项目,并希望确保我以后不会伤害自己:)

如何测试reflection得到的Java字段的值是否为空?

我有 Field f = this.getClass().getFields()[0]; 我需要知道f的值是否为null 。 有许多方法,如getInt()和getDouble() ,但我没有找到像Object getData()或isNull() 。 有这样的方法吗?

按类引用字段和按对象调用字段有什么区别?

我注意到有些时候用Java编写的代码我看过方法调用的字段: System.out.println(object.field); 按class级分类: System.out.println(Class.field); 在我的教科书中,我没有看到任何关于这两种情况的语义是什么的明显区别,我担心,至少对于一个菜鸟来说,这将是一个微妙的观点。 我的直觉是类调用将用于静态字段? 多谢你们。 如此多的con’foo’sion。