[英]Downcasting Objects to references in java
我正在處理一項任務,但不理解向下轉換。 For example, class Reference.java and I'm in a method that passes an object in. If that object is of type (not sure if that is the right word) then create a new Reference object. 這是我現在擁有的,但它不起作用。
public method(Object obj){
if( obj instanceof Reference){
Object obj = new Reference();
}
}
現在 Reference.java 的構造函數需要兩個參數,我也不明白在向下轉換時這將如何工作。
Object obj = new Reference();
這是一個向上的場景。
如果你想要向下轉換,那么它將是,
Reference ref = (Reference) obj;
當它起作用時/當它可能時,
Object obj = new Reference();
這是一種上調。 你可以這樣做,
Reference ref = (Reference) obj;
instanceof
可以幫助你。 所以完整的工作代碼應該是 -class Reference extends Object{ //not necessary extends Object class, but for
//clearification
...
public static void method(Object obj){
if(obj instanceof Reference){
Reference ref = (Reference) obj;
}
}
}
在主要方法中,
public static void main (String [] args) {
Object _obj = new Reference();
Reference.method(_obj);
//downcast successfull
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.