java将ChildClass对象添加到ArrayList<BaseClass>
如果我们有一个属性为username
和password
的User
基类
和一个子类SpecialUser
,带有一个额外的属性special
我知道我可以声明ArrayList<User> users = new ArrayList<User>();
,然后将SpecialUser
对象添加到users
,但我只能通过这种方式访问从基类(username
和password
)继承的属性
有没有办法将SpecialUser
添加到ArrayList中,并能够访问special
属性?还是应该分开存放
亲切的问候
# 1 楼答案
如果你真的必须这样做,你可以用
instanceof
:你真的需要这个吗?好的多态性是关于在子类中使用
User
-s方法和do一些特殊的东西通常我们更喜欢没有
instanceof
的代码。但有时这是正确的选择。这取决于你的实际问题