Java 如何区分超类对象和基类对象?
我有两个班,A班和B班Java 如何区分超类对象和基类对象?,java,inheritance,superclass,Java,Inheritance,Superclass,我有两个班,A班和B班 class A { String abcd; String efgh; } class B extends A { String check1; String check2; } 我在另一个类中有一个B类对象。我想从子类B中获得一个单独的类a对象。java中有没有特殊的方法来分离这两个类?请帮我得到正确的答案。只有一个对象(属于子类)。打印此并检查 实际上我需要B类的A类对象 这不是组合,扩展类意味着继承,在类B实例中不会有类A实例 只有一个对象(
class A {
String abcd;
String efgh;
}
class B extends A {
String check1;
String check2;
}
我在另一个类中有一个B类对象。我想从子类B中获得一个单独的类a对象。java中有没有特殊的方法来分离这两个类?请帮我得到正确的答案。只有一个对象(属于子类)。打印此并检查
实际上我需要B类的A类对象 这不是组合,扩展类意味着继承,在类B实例中不会有类A实例 只有一个对象(属于子类)。打印此并检查
实际上我需要B类的A类对象 这不是组合,扩展类意味着继承,在类B实例中不会有类A实例 只有一个对象(属于子类)。打印此并检查
实际上我需要B类的A类对象 这不是组合,扩展类意味着继承,在类B实例中不会有类A实例 只有一个对象(属于子类)。打印此并检查
实际上我需要B类的A类对象 这不是组合,扩展类意味着继承,在类B实例中不会有类A实例 我在另一个类中有一个B类对象。我想从子类B中得到一个单独的类a对象 只有一个对象,而不是两个 java中有什么特殊的方法来分离这两个类吗 不,因为同样,只有一个对象 对于
B
实例的A
方面,通常有两种方法:
B b = new B();
a
方面的副本,通常使用a
中的副本构造函数。这将创建一个新的第二个对象,该对象复制实例中特定于a
的方面。如果A
没有合适的复制构造函数,则必须添加一个(如果可以修改A
)或创建自己的方法来执行此操作(如果可能,某些类具有不公开的状态)
例如,这里有一个带有复制构造函数的A
:
class A {
String abcd;
String efgh;
public A(A a) {
this.abcd = a.abcd;
this.efgh = a.efgh;
}
}
然后,如果您有一个B
实例:
B b = new B();
…您将使用复制构造函数将A
方面复制到第二个对象:
A a = new A(b);
a
而不是B
的现有对象,则只需执行赋值:
B b = new B();
A a = b;
仍然只有一个对象,它仍然是B
对象,但是a
变量只允许访问为a
定义的属性和方法B
功能(这并不少见)
我在另一个类中有一个B类对象。我想从子类B中得到一个单独的类a对象
只有一个对象,而不是两个
java中有什么特殊的方法来分离这两个类吗
不,因为同样,只有一个对象
对于B
实例的A
方面,通常有两种方法:
B b = new B();
a
方面的副本,通常使用a
中的副本构造函数。这将创建一个新的第二个对象,该对象复制实例中特定于a
的方面。如果A
没有合适的复制构造函数,则必须添加一个(如果可以修改A
)或创建自己的方法来执行此操作(如果可能,某些类具有不公开的状态)
例如,这里有一个带有复制构造函数的A
:
class A {
String abcd;
String efgh;
public A(A a) {
this.abcd = a.abcd;
this.efgh = a.efgh;
}
}
然后,如果您有一个B
实例:
B b = new B();
…您将使用复制构造函数将A
方面复制到第二个对象:
A a = new A(b);
a
而不是B
的现有对象,则只需执行赋值:
B b = new B();
A a = b;
仍然只有一个对象,它仍然是B
对象,但是a
变量只允许访问为a
定义的属性和方法B
功能(这并不少见)
我在另一个类中有一个B类对象。我想从子类B中得到一个单独的类a对象
只有一个对象,而不是两个
java中有什么特殊的方法来分离这两个类吗
不,因为同样,只有一个对象
对于B
实例的A
方面,通常有两种方法:
B b = new B();
a
方面的副本,通常使用a
中的副本构造函数。这将创建一个新的第二个对象,该对象复制实例中特定于a
的方面。如果A
没有合适的复制构造函数,则必须添加一个(如果可以修改A
)或创建自己的方法来执行此操作(如果可能,某些类具有不公开的状态)
例如,这里有一个带有复制构造函数的A
:
class A {
String abcd;
String efgh;
public A(A a) {
this.abcd = a.abcd;
this.efgh = a.efgh;
}
}
然后,如果您有一个B
实例:
B b = new B();
…您将使用复制构造函数将A
方面复制到第二个对象:
A a = new A(b);