新人求教大神,大神快快显灵!java面向对象多态这里有个什么引用转型的,怎么理解啊? 还有什么编译和运行是怎么理解的?
第一个问题百度就知道了。第二个问题:编译是指将.java的源文件变为.class的字节码文件,因为只有字节码文件,JVM才能认识。运行就是指JVM执行那些字节码文件。字节码文件就是计算机能够认识的二进制文件。
父类引用指向子类对象:
father是父类,Son类继承自Father。
Father f1 = new Son(); // (向上转型)
Son s1 = (Son)f1; // (向下转型)
java编译时保存成.class文件的过程,出错就是编译时错误。保存的过程就是编译。
运行,就是执行.class文件的过程,出错就是运行时错误。执行过程就叫运行。
自己的理解,比复制粘贴强多了吧。
多谢多谢,那它为什么要向上转型呢(Fu f1 = new Zi())呢?这样干有什么意义?
@蜂蜜橘子茶: 设计软件的时候有一定的需求,当逻辑复杂的时候就要设计出,父类子类,接口实现。这些你应该懂的。当逻辑复杂的时候,就要有一定的概念包含,比如:汽车:宝马。这样的概念。在逻辑上,你说“我开宝马来的”和“我开车来的”。有时候可以概念通用。