我正在用java中的向上转换和向下转换的概念,这也被称为扩大和缩小。Java中的上传如何工作?
- UpCasting(加宽)从派生类自动发生到基类。即它是否具有is-a关系。
- 向下播放必须明确进行运行时检查。
好的,我明白了一切。但是,在这种情况下它是如何工作的?
public class ObjPair {
Object first;
Object second;
public ObjPair(Object first, Object second) {
this.first = first;
this.second = second;
}
public Object getFirst() {
return first;
}
public Object getSecond() {
return second;
}
public static void main(String[] args) {
ObjPair objPair = new ObjPair("A",2.2); // Goes widning conversion
System.out.println(objPair.getFirst());
System.out.println(objPair.getSecond());
}
}
ObjPair objPair =新ObjPair( “A”,2.2);
- 这个正在经历上溯造型,字符串反对和双反对和国家越来越店在objPair。大..!!!
现在,当我做objPair.getFirst()和objPair.getSecond()。它返回我A和2.2。
- 它是如何记住字符串和双精度的,加宽/ upcast应该记住超类的状态和方法。
- 它如何访问子类的类型和值?
那么,在你的'ObjPair'中,它被存储为一个字符串和一个double。 – Nathan
upcast后它被存为Object,不是吗?这就是上传发生的地方。 – Ritesh
此外,Object类还有一个toString()方法,它将使用println()。字符串和双精度(从双精度自动装箱)覆盖toString()以正确打印它们的值。 –