java中的类创建对象
这句话是什么意思:
B b = new C();
这是否意味着b同时是b类和C类的对象?有人能详细说明一下吗
我知道
B b = new B();
当我从类B创建对象时,我不知道这句话是什么意思
B b = new C();
你可以在下面搜索框中键入要查询的问题!
这句话是什么意思:
B b = new C();
这是否意味着b同时是b类和C类的对象?有人能详细说明一下吗
我知道
B b = new B();
当我从类B创建对象时,我不知道这句话是什么意思
B b = new C();
# 1 楼答案
这意味着
B
类型的引用引用了C
类型的实例。C
类是B
的一个子类。在这种情况下,可以使用B
类中定义的方法,方法是使用A
类中这些方法的重写版本(如果存在此类方法)。这种机制被称为多态性假设
B
类有两个子类,例如A
和C
。您将在父类的方法中编写一个通用实现。然后,您将重写子类中某些方法的行为,使它们更具体# 2 楼答案
在这句话中,
C
is显然与B
有“isA”关系,也就是说,B
要么是C
的祖先,要么是C
实现的接口换句话说,你有一个
或者
其中也可能有这些和
B
和C
的组合,例如,它们之间可能有多个继承步骤您正在创建一个
C
实例,并将其分配给类型为B
的变量,这意味着您只能使用通过B
可见的方法(至少没有显式强制转换)