B类是A类的子类,那么A a=new B()是不是指把B类中的对象引用传递给父类呀?谢谢回答!
3个回答
展开全部
这样说吧,把子类对象给父类赋值这个语句的过程是这样的。
1.A a :先产生以个A类的引用,他是一个虚的引用,因为还没有赋值,所以a就是个傀儡,因为生命了类型为A,a变量就像被分配了一个能访问A类对象的引用。
2.new B():创建的是对象,这个相当于生成乙个B类的引用,他可以引用B类中的所有东西
3.a = new B():第三部是才是把B类的引用赋给A类,由于B类是A类的子类,所以才可以这么赋值。
这样赋值之后a可以调用A类的所有方法和属性,虽然给他赋的是B类的引用,不过由于前面限定了A类,所以a只能调用B类中覆盖了A类方法的方法。
1.A a :先产生以个A类的引用,他是一个虚的引用,因为还没有赋值,所以a就是个傀儡,因为生命了类型为A,a变量就像被分配了一个能访问A类对象的引用。
2.new B():创建的是对象,这个相当于生成乙个B类的引用,他可以引用B类中的所有东西
3.a = new B():第三部是才是把B类的引用赋给A类,由于B类是A类的子类,所以才可以这么赋值。
这样赋值之后a可以调用A类的所有方法和属性,虽然给他赋的是B类的引用,不过由于前面限定了A类,所以a只能调用B类中覆盖了A类方法的方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询