ich meine Frage mit einem Beispiel desrcibe wollen:Java: Objekte, die immer den gleichen Inhalt haben?
Base.java:
public class Base {
//NO annotations
public AnyClass anyObj;
public Base(){}
}
DerivedOne .java-:
public class DerivedOne extends Base{
@SomeAnnotionsOne
public AnyClass anyObjWithAnnotations;
public DerivedOne (AnyClass anyObj){
this.anyObj = anyObj;
anyObjWithAnnotations = this.anyObj;
}
}
DerivedTwo.java:
public class DerivedTwo extends Base {
//These annoations differ from @SomeAnnotionsOne
@SomeAnnotionsTwo
public AnyClass anyObjWithAnnotations;
public Derived_Two(AnyClass anyObj){
this.anyObj = anyObj;
anyObjWithAnnotations = this.anyObj;
}
}
Also ich will nur anyObjWithAnnotations
immer gleich sein anyObj
.
Beispiel main:
public static void main(String[] args){
DerivedOne derivedObj = new DerivedOne(new AnyClass());
derivedObj.anyObj = null;
if(derivedObj.anyObjWithAnnotations == null){
System.out.println("anyObjWithAnnotations : is null");
}
}
Es wird nichts gedruckt. ist null
, anyObjWithAnnotations
ist nicht.
Meine Frage:
Ist es möglich, dass anyObj
als anyObjWithAnnotations
immer das gleiche ist ??
Also auch wenn ich eine von ihnen auf null
oder erstellen Sie eine neue Instanz von AnyClass
mit new
die andere Variable sollte den gleichen neuen Inhalt haben.
EDIT:
Changed ganze Beispiel das Problem zu klären.
'myObj1 = myObj2' ?? Warum möchten Sie zwei zwei verschiedene Objekte mit genau demselben Wert haben? – luk2302
können Sie eine gleiche Referenz für beide Objekte verwenden. –
@ luk2302 dies funktioniert nicht für mich .. 'myObj2: ist null' wird nie gedruckt .. es ist ein ganz besonderer Fall mit XML-Annotationen: myObj1 ist in einer Basisklasse definiert und ich brauche es in einer abgeleiteten Klasse – Truntle