bra*_*oob 1 java methods object type-conversion
if (obj instanceof String) {
return (String) obj;
} else {
return ((BlogPost) obj).getTitle();
Run Code Online (Sandbox Code Playgroud)
为什么返回的滴度行BlogPost需要括号围绕基准包裹obj和BlogPost?
假设引用的obj类型不同BlogPost,则语句((BlogPost) obj)会obj转换为类型BlogPost.没有括号括起来的声明:
(BlogPost) obj.getTitle();
Run Code Online (Sandbox Code Playgroud)
意味着:投的返回值getTitle()来BlogPost.虽然与parentesises声明:
((BlogPost) obj).getTitle();
Run Code Online (Sandbox Code Playgroud)
表示:强制obj转换为类型,BlogPost然后在类型getTitle()实例上调用方法BlogPost.