问答详情
源自:7-2 继承

对像操作符 ?

如果使用父类定义对像 "person",并 new 子类实例 "Student()" 赋值,该对像不能访问子类定义的方法,为什么使用对像操作符(if(xxx is xxxx)){} 就可以访问 ? 这个不太理解.

if(person is Student) {
  person.study();
}


提问者:weixin_慕的地9259617 2020-09-28 12:12

个回答

  • weixin_宝慕林1158390
    2021-09-13 11:35:49

    相当于做了判断,只有是studet实例才会走到if内部,反过来走到if内部的一定是student,所以可以访问student方法

  • 阿巴阿巴_
    2020-09-29 13:27:53

    可以假设访问但实际没有执行也不会执行 因为person is Student 是false。