我一直在查看Android开发教程,在查看了一些代码之后,我注意到了以下内容:
HeadlinesFragment mHeadlinesFragment;
mHeadlinesFragment = (HeadlinesFragment) getSupportFragmentManager().findFragmentById(
R.id.headlines);
我对Java很新,所以这可能是问题,但为什么这个(HeadlinesFragment)的显式转换是必要的? mHeadlinesFragment是否已经是HeadlinesFragment类型?
谢谢!
答案 0 :(得分:3)
getSupportFragmentManager().findFragmentById(
R.id.headlines);
这会返回一个Fragment对象,而HeadlinesFragment是Fragment类的子类,每次你将超类的对象分配给你需要显式转换的子类的引用时。
当您将子类对象分配给超类引用时,您不需要显式转换,例如分配:
List<String> list=new ArrayList<String>();