【java – 为什么我不能将父类分配给子类类型的变量?】教程文章相关的互联网学习教程文章

java-什么时候以及为什么Child类声明父类的静态实例成员?【代码】

这是一些遗留代码中的另一种设计模式,我在google上找不到很多.在这种情况下,子类扩展了其抽象父级,但随后转过来并声明了父级的静态实例:public abstract class MessageBase {protected DAOFactory factory;// method declarations }public class EDWMessage extends MessageBase {private static MessageBase instance;public static MessageBase getInstance(Properties properties) {if (instance == null) {instance = new EDW...

在Java中是否可以仅给定父类的实例而动态创建匿名子类实例?【代码】

在Java中是否可以仅给定父类的实例而动态创建匿名子类实例? 我尝试实现的模式代码如下所示:public interface IStringCarier { public String getStr(); }public static IStringCarier introduce(Object victim, final String str) {// question subject }public class AAA { }public static void main() {AAA aaa = new AAA();assert !(aaa instanceof IStringCarier);IStringCarier bbb = introduce(aaa, "HelloWorld");assert ...

Java泛型 - 返回父类的子类【代码】

一、栗子 public class GenericityInher {//error: Type mismatch: cannot convert from ArrayList<Child> to ArrayList<Parent>public ArrayList<Parent> list(){return new ArrayList<Child>();} //rightpublic Parent inher(){return new Child();}//ERROE: Type mismatch: cannot convert from Parent to Human public Human hum(){ return new Parent(); } }class Human{} class Parent{}class Child extends Parent...

java-从父类对象的数组列表中调用子类的方法【代码】

我已经在寻找解决方案,但是我仍然不知道该怎么办.该程序应该模拟一个自动取款机,该自动取款机从支票中减去余额,并向存款中添加钱. 我有这个家长班:public class Transaction {private int transNumber; private int transId; private double transAmt;public Transaction(int number, int id, double amount) {transNumber = number;transId = id;transAmt = amount; }public int getTransNumber() {return transNumber; }public ...

父类中的私有字段-Java【代码】

class Parent{private int a = 10;public int getA() {return a;} } class Child extends Parent{ public int b = 20;public void getSuperA() {System.out.print(getA()); // getA() instead of a} }当我们创建一个子类对象时,只会创建一个对象.该对象中的成员是什么?家长的私人领域会怎样?解决方法:实例化子类的对象时. >初始化父级和子级的所有字段,而与访问修饰符(私有,受保护或公共)无关>父类的构造函数被调用.>子类的构造函...

java-序列化为XML时忽略父类【代码】

当子类列表上有@XmlElement时,是否有一个JAXB注释可以忽略父类? 只是要澄清一下-我想知道是否有比将所有父类的getter / setter标记为瞬态更好的方法,然后不得不回到子类并添加getter / setter并将它们标注为XmlElements 一个例子:public class GenericHelper {String name="";String dates="";String roleName="";String loe="";@XmlTransientpublic String getName() {return name;} public void setName(String name) {this.na...

java-在Eclipse中禁用“转到父类”三角形

在Eclipse Indigo中,Java编辑器中的覆盖方法旁边有一个小三角形,单击该按钮将带您进入覆盖的方法定义.恰好恰好在您单击以添加断点的区域的顶部,我做这件事比通过ctrl-click轻松完成的事情要频繁得多. 我环顾四周,无法确定此功能的名称,或如何将其关闭.有任何想法吗? 这是有问题的按钮:解决方法:那是一个编辑器注释. 至少在Juno中,您可以根据常规>中的偏好关闭它们.编辑>文字编辑器>注释,在垂直标尺中取消显示:

java-使用它.或超级.调用存在于父类和子类中的方法时

有一个称为Champion的类,该类具有一系列Skill作为实例变量. 它实现了一种称为“公共最终Skill [] getSkills()”的方法,其中Skill []是另一个名为Skill的对象的数组. 有一个名为Support的子类,该子类实现一种称为“ public final boolean canHeal()”的方法,该方法检查canHeal方法中的技能数组. 我应该写“ Skill [] x = this.getSkills()”还是:Skill [] x = super.getSkills()“以获取Skill数组,为什么? 请记住,方法getSkills仅...

嵌套类无法在C#中调用父类,但可以在Java中调用【代码】

如果我有一个嵌套类的父类.然后在Java中,嵌套类可以在其父类中调用方法.但是在C#中您无法做到这一点,并且抱怨说“无法调用非静态的外部类方法”. 行为不同的任何原因是什么? PS:我是一名Java程序员,正在学习C#,请原谅我有限的知识 例:public class parent{void methodA(){ }public class nested{void methodB(){methodA(); /// <-- not allowed in C# but good in java} } }解决方法:这是因为在Java中,我们有inner classes...

java-如何在类范围之外但在父类范围内访问变量?【代码】

这个问题已经在这里有了答案: > Accessing outer class variable in inner class 2个我有一个考试示例,询问是否可以访问包含值1的x变量?解决方案是,我可以,但是我对精确度感兴趣吗?class A {int x = 1; //this is what I need access to.class B {int x = 2;void func(int x) {...}} }解决方法: class A {int x = 1;class B {int x = 2;void func(int x) {System.out...

Java中为什么使用Object类,Object类是怎样成为所有类的父类的?

原文: https://my.oschina.net/zlb1992/blog/863455Java中为什么使用Object类?方便不同对象之间的值传递与类型转换;公共方法的统一定义,如wait(),toString() 统一父类逻辑,不需要根据是否有父类分两种实现Object类是怎样成为所有类的父类的?有两种方法编译过程,编译器为没有父类的类指定默认父类Object(Java使用的方法) 运行过程,虚拟机为没有分类的类指定默认父类

java – 在父类之间来回转换后,子对象是否会丢失其唯一属性【代码】

考虑以下类:public class Phone {private boolean has3g;public boolean has3g() {return has3g;}public void setHas3g(boolean newVal) {has3g = newVal;} }public class Blackberry extends Phone {private boolean hasKeyboard;public boolean hasKeyboard() {return hasKeyboard;}public void setHasKeyboard(boolean newVal) {hasKeyboard = newVal;} }如果我要创建一个Blackberry实例,将其转换为Phone对象,然后将其转换回Bl...

java – 为什么我不能将父类分配给子类类型的变量?【代码】

为什么子类的引用变量不能指向父对象?即Child obj = new Parent();但是我们可以反之亦然请回答内存视图(堆)解决方法:没有理由与记忆有关.它更简单.子类可以通过添加新方法来扩展其超类的行为.虽然没有给出,但超类具有其子类的所有方法.请看以下示例:public class Parent {public void parentMethod() {} }public class Child extends Parent {public void childMethod() {} }现在让我们考虑如果您可以将Parent的实例分配给Child类...

java – 非可序列化父类的Serializable子类【代码】

我正在使用android / java中的Location子类序列化打砖块 位置不可序列化.我有一个名为FALocation的第一个子类,它没有任何实例变量.我已声明它可序列化. 然后我有一个名为Waypoint的第二个类看起来像这样:public class Waypoint extends FALocation implements Serializable {/*** */private static final long serialVersionUID = 1L;/* Class variables *******************************************************/private static...

java – 为什么我不能在静态上下文中使用“super”变量,即使“super”引用父类而不是类实例,不像“this”?

我说的是java语言. 变量“this”在类中使用时,引用该类的当前实例,这意味着您不能在静态方法中使用“this”. 但是“super”,当在类中使用时,指的是该类的超类,而不是超类的实例,这应该意味着你可以在静态方法中使用“super”.但事实证明你做不到. 一个可能的解释是说“超级”也指的是超类的一个实例,但我不明白为什么它应该……解决方法:以下是JLS中关于super关键字的部分: http://docs.oracle.com/javase/specs/jls/se7/html/jls...