我正在寻找一些解释Java的教程Cloneable,但没有得到任何好的链接,而且Stack Overflow正变得越来越明显.
我想知道以下内容:
Cloneable意味着我们可以通过实现Cloneable接口来获得克隆或对象的副本.这样做的优点和缺点是什么? 我有这个问题.但是我很难解释,因为我不知道使用的确切术语.希望有人能理解.我会试着尽力而为.我觉得这与此有很大关系parsing
说有两个班.在这两个类中我都有一些变量,比如字符串(只是为了简单起见,变量类型可以是任何变量),它们具有相似的名称.
Eg:
class ClassA{
String x,y,z;
}
class ClassB{
String x,y,z;
}
Run Code Online (Sandbox Code Playgroud)
现在,我需要的是,我需要将一个类的变量值的值复制到其他类对应的变量.
Eg:
ClassA aa=new ClassA();
ClassB bb=new ClassB();
//set bb's variables
aa.x=bb.x;
aa.y=bb.y;
aa.z=bb.z;
Run Code Online (Sandbox Code Playgroud)
像那样.
但请注意,我需要的不是上述方法.我希望有一种方法可以编写一个简单的方法,以便它通过传递给它的名称来识别相关变量.然后它会相应地进行值赋值.
我想象的方法是这样的,
void assign(String val){
// aa.<val>=val
}
Run Code Online (Sandbox Code Playgroud)
例如,如果您传递bb.x给assign(...)方法,那么它将进行aa.x=bb.x分配.
希望这很清楚.必须有更好的方法来解释这一点.如果有人知道,请编辑帖子(+标题)以使其更清晰(但保存我的想法)..
如果有办法实现这一点,请告诉我.
谢谢!
在给父母提供数据的情况下,创建孩子的最佳方法是哪种?是否可以在子类上使用包含所有父值的方法:
public class Child extends Person {
public Child(Parent p) {
this.setParentField1(p.getParentField1());
this.setParentField2(p.getParentField2());
this.setParentField3(p.getParentField3());
// other parent fields.
}
}
Run Code Online (Sandbox Code Playgroud)
复制父数据ti子对象?
Child child = new Child(p);
Run Code Online (Sandbox Code Playgroud) 我有以下php类
class User implements IUser
{
public function __construct($i_objParent = NULL)
{
}
}
Run Code Online (Sandbox Code Playgroud)
成功登录后,将创建User类的对象。
还有另一个名为Student class的类,它扩展了User Class
class Student extends User
{
public function __construct($i_objParent = NULL)
{
parent::construct($i_objParent);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,正如我所说的,我已经有了一个关于User class如何Student object从现有结构中构造对象的目标User Class。
我认为可以通过将现有User class对象传递给子类的构造函数来实现Student class?
另外,上述方法可以吗?