我现在正在学习Java类。
我有班主任。从Person我有两个子类,父亲和母亲。一个父亲可以有三个孩子(孩子1、孩子2、孩子3)。现在我想与孩子的父亲共同接触。我怎么能那样做?
我当前的代码:
班级人物
public class Person {
String name;
int age;
String addresse;
public Person (){
}
public Person(String name, int age, String addresse) {
this.name = name;
this.age = age;
this.addresse = addresse;
}
}
班级父亲
public class Father extends Person {
Person child1;
Person child2;
Person child3;
public Father() {
}
public Father(String name, int age, String addresse) {
this.name = name;
this.age = age;
this.addresse = addresse;
}
public void setName(Name name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
我的main。java
我创建一个父亲和一个人,并将其分配给子1。
public class PersonTest {
public static void main(String[] args) {
Father f = new Father();
f.setName("Joe");
Person p1 = new Person();
p1.setName("Kai")
f.child1 = p1;
}
}
现在,我想通过p1得到孩子1的父亲的名字。我怎么能那样做?
您可以在孩子和父亲之间创建双向依赖关系。如果这是一个好的设计决策-不是我答案的一部分。
public class Person {
String name;
int age;
String addresse;
Father father;
public Person (){
}
public Person(String name, int age, String addresse) {
this.name = name;
this.age = age;
this.addresse = addresse;
}
public void setFather(Father father) {
this.father = father;
}
}
创建一个进行双向链接的setter:
public class Father extends Person {
Person child1;
Person child2;
Person child3;
public Father() {
}
public Father(String name, int age, String addresse) {
this.name = name;
this.age = age;
this.addresse = addresse;
}
public void setName(Name name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setChild1(Person child1) {
this.child1 = child1;
this.child1.setFather(this);
}
}
这样称呼它:
public class PersonTest {
public static void main(String[] args) {
Father f = new Father();
f.setName("Joe");
Person p1 = new Person();
p1.setName("Kai")
f.setChild1(p1);
// p1.father
}
}
问题内容: 给这篇Dobbs博士文章,尤其是Builder模式,我们如何处理将Builder子类化的情况?以该示例的简化版本为例,在该示例中我们想使用子类来添加GMO标签,一个简单的实现将是: 子类: 现在,我们可以编写如下代码: 但是,如果我们弄错了订单,那么一切都会失败: 问题当然是NutritionFacts.Builder返回a NutritionFacts.Builder,而不是a GM
我对Java/Android中的继承/接口有点困惑,不确定我是否走上了正确的道路。基本上,我在Android系统中使用Parcelable,由于方法未定义,所以会出现错误。 我有一个动物超类和几个子类(狗、猫等)。在第一个活动中,您选择一只动物,然后它将其打包并传递给第二个活动: 问题是“updateImage”只存在于子类中,因此它不会在这里编译。我不希望这个方法出现在超类中,因为输出根据动物的
我的类别表设计如下 我有三个级别的类别 < li >父项 < li >孩子 < li >子系 如何以下列方式显示它们? (SELECT*From类别):我得到以下数组,如下所示
为什么我们不能在子类B中声明一个实例方法,它与父类a中的静态方法共享相同的签名? 在上面的代码中,由于A没有该名称的实例方法,并且由于Java允许对象访问静态方法,所以指向B的类型为A的对象A可以调用它中存在的静态方法(类A)。但是编译器抛出一个错误“实例方法不能重写静态方法”为什么? 注意:我可以理解,如果一个类不允许两个方法使用相同的方法名,即使其中一个是实例,另一个是静态的。但是我不明白为什
问题内容: 我一直在尝试JAXB教程,并设法使代码能够从Java对象生成XML文件,然后能够使用XML生成Java对象。目前,它读取同一类的多个实例以创建一个类似于以下内容的XML文件 我希望能够使用JAXB技术来处理子类。例如:说我有一个Car,Van和Bicycle对象,它们是Vehicle的子类。我是否可以操纵我的JAXB类来编写一个会产生类似结果的XML文件?我在下面提供了我正在使用的代码