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

Java – 基类和子类中的equals方法【代码】

我有一个简单的基类,后来由许多单独的类扩展,这可能会引入新的字段,但不一定.我在基类中定义了一个equals方法,但是也为一些子类重写了它.可以在基础/子类中混合定义吗?在我的例子中,它是为了避免代码重复检查相同的字段.解决方法:看看Angelika Langer的“Implementing equals() To Allow Mixed-Type Comparison”. 以下是一些问题的简要说明和可能的解决方案: 等同合同说(其中包括):It is symmetric: for any non-null referenc...

Java基础系列 - 子类继承父类,调用父类的构造函数

package com.test7;public class test7 {public static void main(String[] args) {Son son = new Son(1000, "张三");/*** 打印显示Father的构造函数1000 张三Son的构造函数1000 张三*/} }class Father {private int userId;private String userName;public Father(int userId, String userName) {System.out.println("Father的构造函数" + userId + " " + userName);this.userId = userId;this.userName = userName;} }class Son ...

资料-Java基础:父子类加载过程【代码】

加载顺序 先上桌结论: 父类静态属性(成员变量) > 父类静态代码块 > 子类静态属性 > 子类静态代码块 > 父类非静态属性 > 父类非静态代码块 > 父类构造器 > 子类非静态属性 > 子类非静态代码块 > 子类构造器 这么长怎么记呀?! 这里帮大家小结几个特点:静态属性和代码块,当且仅当该类在程序中第一次被 new 或者第一次被类加载器调用时才会触发(不考虑永久代的回收)。也正是因为上述原因,类优先于对象 加载/new,即 静态优先...

Java中子类继承父类关于构造方法的问题

子类继承了父类,若父类的构造方法没有重载那么,子类的构造方法也不需要通过super调用父类构造方法。一个类中如果构造方法重写了并且带了参数,那么这个类的原来系统默认的无参构造方法便消失。由此,若一个父类中只有一个带参数的构造方法,那么在写其子类的构造方法时必须先通过super调用父类的构造方法才能完成子类的构造方法而且super只能写在子类构造方法体内的第一行。

如何将这种鸭子类型(Python)翻译成Java泛型?【代码】

通过示例考虑以下简单的Python函数:def quantize(data, nlevels, quantizer=lambda x, d: int(floor(x/d))):llim = min(data)delta = (max(data) - llim)/(nlevels - 1) # last level x == max(data) onlyy = type(data)if delta == 0:return y([0] * len(data))else:return y([quantizer(x - llim, delta) for x in data])在这里,它正在行动:>>> from random import random >>> data = [10*random() for _ in range(10)] >>> da...

Java:在super之前在子类中分配final变量【代码】

我有一个包含最终int,valA的A类. 我有一个子类B,它包含一个大的最终对象objB. valA的值取决于与B的构造函数一起传递的objB. 如何创建B的实例? 我已经包含了我想要做的最少代码.public class Test {public static void main(String[] args){System.out.println(new B(3).valA);}static class A{final int valA;A(int valA) {this.valA = valA;}}static class B extends A{final Object objB;B(int initVal) {this.objB = someMetho...

java – 从子类中的超类隐藏字段【代码】

假设我有3个班级:class Foo { protected String var;public void doSomething(){// does something with var} }class A extends Foo {public void doSomething(){// uses var slightly differently to Foo} }class B extends Foo {protected int var; // hides Foo's var fieldpublic void doSomething(){// does something with B's var, but still in a similar fashion to Foo} }在这种情况下,我知道并希望B的var字段隐藏Fo...

java – 使用子类作为方法参数调用getMethod【代码】

是否可以调用一个方法,其中参数对象或参数类是一个子类,并且该方法本身将超类作为参数? 我试图调用这个方法public void setNewProblem(Problem problem);具体实现了抽象类的问题.不幸的是,我得到了NoSuchMethodException异常. 我调用这样的调用:Method method = model.getClass().getMethod("set" + propertyName, new Class[] { newValue.getClass() }); method.invoke(model, newValue);如果我将newValue.getClass()更改为Prob...

为什么我需要在这个Java通用子类中有一个构造函数?【代码】

我正在使用Java泛型.这是一个代码示例,后跟问题.public class Test<T extends Comparable<T>> {T data;public Test(T data) {this.data = data;}public T getData() {return this.data;} }class MyClass<T extends Comparable<T>> extends Test<T> {//if I remove this constructor, code will not compilepublic MyClass(T data) {super(data);} }在MyClass中,如果我没有构造函数,则会出现以下编译时错误:Implicit super constr...

JAVA子类继承父类的成员变量以及方法

Dog继承Animalclass Animal{protected String name;protected String description;protected String say() {return "一只动物";} }class Dog extends Animal{private String name;protected String say() {return "我是忠犬八公,我父类是" + super.say();}private String getName() {return "我的名字是" + name + ",我父类的名称是" + super.name;}public static void main(String[] args) {Dog dog = new Dog();dog.name = "忠犬...

java – 在作为超类实例的对象上使用子类中的方法【代码】

假设有一个我广泛使用的类,并由方法返回.CommonClass obj = getCommonObject();现在我想扩展这个类来创建一些实用方法,以避免重复自己.public CommonClassPlus extends CommonClass {public String dontRepeatYourself() {// the reason I'm creating a subclass} }当然我想使用我改进的类来实现上述方法,但是,不允许向下转换.CommonClassPlus obj = getCommonObject(); //Cannot cast to CommonClassPlus如果我只能使用作为超类实...

java – 将Runnable实例传递给Thread调用Thread的子类的run()而不是runnable类的run()【代码】

我有三个课程如下: 1.ThreadInstancepublic class ThreadInstance extends Thread {public ThreadInstance() {}public ThreadInstance(RunnableInstance r) {super(r);}public void run() {System.out.println("|Extend|");} }2.RunnableInstancepublic class RunnableInstance implements Runnable {public void run() {System.out.println("|Implement|");} }3.Clientpublic class Client{public static void main(String[] arg...

java – 从超类型的扩展列表返回子类型对象的列表【代码】

我声明了包含ClassA元素的列表:public class SuperList<E> extends ArrayList<ClassA> {public SuperList<E> getSomeElements() {SuperList<E> resultList = new SuperList<>();// creating result listreturn resultList;} }我有一个班级ClassB:public class ClassB extends ClassA {// class definition }最后我有SuperList与ClassB的实例.我想通过方法getSomeElements()从中获取元素并迭代它:SuperList<ClassB> bigList;Sup...

java – jackson为什么我需要在子类上使用JsonTypeName注释【代码】

在this link 我试图理解为什么我(可能)在子类上需要@JsonTypeName(比如所有’互联网; sujests to put)如果没有它就可以工作?@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "aType") @JsonSubTypes(Array(new Type(value = classOf[ModelA], name = "ModelA"),new Type(value = classOf[ModelB], name = "ModelB") )) class BaseModel(val modelName:String)//@JsonTypeName("SomeModel") // Commented. Do I need this?...

java – 检查子类时“instanceOf”出错【代码】

我有一个方法,接受所有扩展Persona.Class的类(Uomo.Class和Donna.Class扩展Persona.Class)作为参数.public PersonaDecorator(Class <? extends Persona> persona) { } 在这个方法中,我需要知道发送给方法的类是Uomo.Class还是Donna.Class. 我以为我可以这样做:public PersonaDecorator(Class <? extends Persona> persona) { if(persona instanceof Uomo){......} } 但是我得到了这个错误:不兼容的条件...