类型转换括起括号的原因

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需要括号围绕基准包裹objBlogPost

Har*_*ezz 5

假设引用的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.