【java – 从子类中的超类隐藏字段】教程文章相关的互联网学习教程文章

java – 内部静态类字段可见性【代码】

我有两个类,如下public class A{private static class B{private static int s1;private static int s2;private int x;} }在B类中,所有字段都是私有的,所有字段都不应该在A类中访问.但是有一个’神秘’,静态字段可以在A类和private int x不可访问.我的问题是为什么在A类中可以访问私有静态字段? 注意:我的B类是静态的,它的构造函数是私有的.解决方法:除了@Uwe Plonus(1)给出的答案之外,我可以假设你试图通过B类访问非静态字段x而...

java – make toString()方法也可以在Eclipse Kepler中打印继承的字段

我想为扩展另一个的类生成toString()方法.但是在生成toString()对话框中,没有继承字段的复选框(见下图) 这有什么问题?解决方法:如果出现以下情况,将显示“继承的字段 >您正在扩展具有可继承字段的类,即public,protected(或在同一个包中受包保护)>当您的光标位于子类中时,您将在上下文中生成toString方法以右键单击 后者可能令人困惑:它不是您右键单击的位置,而是您的实际游标所在的位置,它决定了应该生成toString(et al.)方法的类...

具有最终用户馈送字段的类的Java构造函数【代码】

我的问题是:使用通过stdin初始化的字段编写Java类构造函数的最佳方法是什么? 例如,假设我有一个类似于的Employee类:Public class Employee {private int empID;private String empName;private List<Role> empRoles;{....} }我可以为这堂课写下所有的二传手和门手.当然,Role类将拥有自己的文件. 还假设我为前两个字段创建了我的setter,如下所示,以便让最终用户初始化字段:public void setEmpID() {System.out.println("Please ...

从Java中的基类访问子类字段【代码】

我有一个名为Geometry的基类,其中存在一个子类Sphere:public class Geometry {String shape_name;String material;public Geometry(){System.out.println("New geometric object created.");} }和子类:public class Sphere extends Geometry {Vector3d center;double radius;public Sphere(Vector3d coords, double radius, String sphere_name, String material){this.center = coords;this.radius = radius;super.shape_name ...

java – 如何根据特定字段创建一组有序的对象?【代码】

我需要根据排序字段检索排序的对象列表;它们的集合类型是SortedSet,但代码抛出异常.我还尝试添加@Sort注释,如hibernate documentation的排序集合部分所述,但它似乎已被弃用! 例外Caused by: org.hibernate.AnnotationException: A sorted collection must define and ordering or sorting码SortedSet<Offer> offers = new TreeSet<Offer>();类public class Person {@Idlong id;@OneToMany //@OrderBy("sort ASC") <<< If I use th...

java – 如何使用@Value将属性值注入静态字段【代码】

我有一个属性文件config.properties,它使用spring属性占位符配置.这是我在spring配置文件中配置的方式:<context:property-placeholder location="classpath:properties/config.properties"/>现在我需要使用@Value注释将其值设置为静态字段.@Value("${outputfilepath}") private static String outputPath;我怎样才能做到这一点?解决方法:唯一的方法是使用setter来获取此值@Value("${value}") public void setOutputPath(String o...

Java中私有字段的默认初始化【代码】

假设我有一个名为Person的类:class Person{private int num = 1; }当为Person类调用空构造函数时,Java会先将num初始化为默认值零,然后将num赋值为1吗?或者Java会立即将num初始化为1吗?除非使用初始化语法,否则C不会执行前者吗? 谢谢!解决方法:它将首先赋值为零. 如果你在字段声明之前放了一些东西,你可以看到:class Person{{ print(); }private int num = 1;{ print(); }void print() {System.out.println(num);} }这将打印:...

Java反射:查找子类的字段【代码】

我有一个类层次结构如下:(=>表示“是”的子类“)anonymous instance class => abstract class => generic abstract class或者更简洁:C => B => A执行时,“C”调用“A”方法之一.在“A”中的该方法中,我想使用反射来查找在类“B”中定义的对象的受保护字段. (所以这些是“C”和“B”可以看到的字段,但不是“A”.) 我如何使用Java反射做到这一点?如果我在A& A之间添加一些东西,我该怎样才能面向未来呢? B或B& C?解决方法:您必须...

java – 私有方法和公共字段一样糟糕吗?

请原谅挑衅性问题标题.众所周知,你永远不应该在Java程序中使用公共字段(除了类似结构的类,你应该避免使用它).但人们谈论硬币的另一面 – 私人方法. 我看到它的方式是:如果你有私有方法,那么你正在编写本地程序代码.具有私有字段的Java类与调用多个私有方法的一些公共方法以及具有全局变量和一些函数的C模块之间基本上没有区别,其中一些函数在其他地方被驱逐(除了相当大的区别之外)你不能实例化一个C模块).鉴于很多关心良好Java实践...

java – 隐藏的字段值空白的Thymeleaf【代码】

我有一个有两个隐藏领域的百里香形式.我使用th:value指定隐藏字段的值,并将这些字段绑定到对象.<div class="w-row"><div class="w-col w-col-6"><div class="question_text_sc"><p th:text="${questionVO.questionText}" /><p th:text="${questionVO.questionStem}" /><p th:text="${sequenceNo}" /><p th:text="${quizID}" /></div></div><div class="question_stem_sc"></div><div class="w-col w-col-6"><div><div class="w-fo...

java – 为什么clone可以在另一个对象上设置私有字段?【代码】

我正在学习Java,我正在阅读的书中有关于克隆的以下示例.在clone()中,我的第一个实例能够在新对象上设置缓冲区,即使缓冲区是私有的.看起来它应该要求保护字段以使其工作. 为什么允许这样做? clone()是否具有允许其访问私有字段的特殊权限?public class IntegerStack implements Cloneable {private int[] buffer;private int top;// ... code omitted ...@Overridepublic IntegerStack clone() {try{IntegerStack nObj = (Integer...

java – 在子类中具有不同值的类字段的最佳实践【代码】

我有一些抽象类,在其中一个方法中我使用了一个字符串字段,该字段应该是特定于子类的.我想知道实现这个的实践是什么?通过字段并在子类的consructors中设置字段值?通过静态字段并更改每个子类中的值? 你会建议什么?解决方法:子类应指定值.超类应该定义它的接口.使用template method design pattern. 例:public abstract class SuperClass {public abstract String getSomeValue();public void method() {String s = getSomeValu...

java – Jackson字段值没有引号【代码】

是否有注释或其他方式告诉Jackson序列化String变量的值而不带引号.序列化程序应仅序列化一个字段的值而不带引号. 我正在寻找类似于以下内容的回报:{"name": "nameValue", "click" : function (e){console.log("message");}}代替{"name": "nameValue", "click" : "function (e){console.log("message");}"}以上是外部java脚本库如何需要数据,因此如果没有办法,我必须在Object Mapper将其转换为JSON后手动更改字符串.解决方法:正如其...

如何测试是否在java的文本字段中按下回车键?【代码】

我正在制作命令行程序,我需要测试以查看是否按下了回车键.解决方法:如果在JTextField具有ActionListeners的情况下在JTextField中按下回车键,则会触发ActionEvent.JTextField field = ... field.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("Enter key pressed");} });

java – 在lambda中使用类字段【代码】

参见英文答案 > Java lambdas have different variable requirements than anonymous inner classes 2个> Unexpected error using lambdas in Java 8 1个我不明白这种行为. 这段代码符合:public class A {private String s;private Function<String, String> f = e -> s;public A(String s) {this.s = s;} }但如果我做了最后的,那么我得到一个...

字段 - 相关标签