【java – 要写入文本文件的OutputStream子类】教程文章相关的互联网学习教程文章

子类Java中的静态变量【代码】

我需要一个与对象无关的静态变量,而是与类本身有关.但是,变量也必须与父类或扩展相同父类的所有其他子类无关. 让我们说:class Army{static int attack = 0;}class Warrior extends Army{public Warrior(){ attack = 50; // every Warrior object will have attack value of 50}}class Archer extends Army{public Archer(){ attack = 75; // every Archer object will have attack value of 75}}可能吗?或者我是否需要在每个子...

java – 使用函数式编程,提取提供子类对象的超类字段【代码】

我有两类动物和狗,即public class Animal {private String name,age;//public getters and setters }public class Dog extends Animal {private String color;//public getters and setters }我正在使用java 8函数式编程从json节点中提取字段,即public class EntityExtraction {private Function<JsonNode, Animal> extractAnimal = node -> {Animal animal = new Animal();animal.setName(node.get("name").asText()));animal.set...

如何将Java类转换为其子类之一(SocketAddress和InetSocketAddress)【代码】

我试图以字符串形式获取套接字连接的IP. 我正在使用一个框架,它返回收到的消息的SocketAddress.我怎样才能将其转换为InetSocketAddress或InetAddress?解决方法:如果您确定该对象是InetSocketAddress,那么只需将其强制转换:SocketAddress sockAddr = ... InetSocketAddress inetAddr = (InetSocketAddress)sockAddr;然后,您可以调用inetAddr上的getAddress()方法来获取与之关联的InetAddress对象.

在Java接口中声明参数子类型,在Java实现方法中使用子类型【代码】

我想在接口中声明一个方法,其中实现类中定义的方法的参数可以是特定java类的子类型,例如:interface Processor{processRequest( Request r); }public class SpecialRequest extends Request{...}public class SpecialProcessor implements Processor{processRequest(SpecialRequest r){...} }但我在SpecialProcessor中遇到错误,因为它没有正确实现Processor接口.我可以在Processor接口中更改什么以允许SpecialProcessor中的定义工作...

从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 – 不能从另一个包的子类访问受保护的内部类【代码】

我在Java中有以下代码:package a; public classs ClassInOtherPackage{protected void protectedMethod(){}protected class protectedInnerClass {} }package b; import a.*; public class MyClass extends ClassInOtherPackage{public MyClass(){MyClass x = new MyClass();x.protectedMethod(); //<-- This one ok//UPDATED: Declaration is okMyClass.protectedInnerClass y; //<-- This one ok//UPDATED: Only when instanti...

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 – 父类是否应该引用子类?【代码】

早上好, 我在工作中继承了一些遗留代码,它使用了一种相当不寻常的设计模式.我在论坛上找到的类似模式的唯一参考是here.情况是原始设计者有一个通用的父类(非抽象),它有一个直接引用子类的静态工厂方法. 以下是遗留代码中的几个位置的编码样式示例:public static LoggerFactory getLoggerFactory(LogType type) {switch (type) {case LOG4J:return Log4JLoggerFactory.getInstance();case LOGBACK:return LogBackLoggerFactory.get...

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

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

使用子类来替换未实现接口的Java类

例如,java.io.File只是一个具体的类.我的替代品支持解析Windows快捷方式.我需要预处理构造函数参数来解析可能的.lnk文件,因为无法访问在抽象路径上执行规范化/规范化/解析的FileSystem对象.预处理的需要排除了纯子类 – 在调用super(…)之前不能进行预处理,而File是不可变的.所以我扩展File并使用委托,覆盖所有File的构造函数和方法(在所有构造函数中调用super(“”)). 这很好用,但显然不理想 – 如果File更改,我将不会覆盖任何新方...

Java子类化问题与泛型类型的自引用类型【代码】

import java.util.*;// Let's define a self-referential type: class SelfReferential<T extends SelfReferential<T>> {}//A complete (i.e. not parameterized) subtype of SelfReferential: class SubclassA extends SelfReferential<SubclassA> {}//A partial (i.e. parameterized) subtype of SelfReferential: class SubclassB<T extends SubclassB<T>> extends SelfReferential<T> {}//Two complete subtypes of SubclassB ...

java – 访问子类对象的私有字段【代码】

刚发现这个结构没有编译:class A {private int data;public static int process(B b) {return b.data;// error here: 'data has private access in A'} } class B extends A {}当然,这个问题可以通过手动轻松解决(将b转换为A,使场保护等).但问题是,为什么java不允许这样的构造?我认为编译器必须知道B是A的子类,因此A的方法必须能够访问A的私有字段. 我能想到的唯一可能的问题是,如果B有自己的’数据’字段,编译器必须不知道我们想...

java – 在创建匿名子类的内部类的匿名子类时,Netbeans无法找到主类【代码】

当我尝试在其包含类的包含类的匿名子类的初始化内创建一个新的匿名Action子类时,Netbeans突然无法在运行时找到主类,尽管能够毫无问题地清理构建并运行此代码评论说. 代码结构: 主要包装: >主类< - 目前正在查看此文件> public void run(…)(在main(String [] args中调用)) >演员a =新演员(){ > Script script = new Script();> {(演员实例启动代码) > script.new Action(0){…}导致破损 >包装演员 >公共抽象类Actor >公共类脚本...

java – 子类getter上的@NotNull影响父类表【代码】

我有一个与javax.validation.constraints.NotNull注释相关的问题.在我的项目中,我确实有类如下的类树:@Inheritance(strategy = InheritanceType.JOINED) class Ssss {@ManyToOneprivate Xxxx x;public Xxxx getXxxx() {return x;} }@Inheritance(strategy = InheritanceType.JOINED) class Yyyy extends Ssss {@Override//some not important annotationspublic Xxxx getXxxx() {return super.getXxxx();} }@Inheritance(...

java多态 成员访问特点(父类引用指向子类对象)

>父类 子类 package com.dareway.demo;public class Father {public String index="fatherLogo";public Father() {System.out.println("father creat");}public void Fly() {System.out.println("father Fly");}public static void eat(){System.out.println("father eat");} }package com.dareway.demo;public class Son extends Father {public String index="sonLogo";public String school="qinghua";public Son() {System.out...