本帖最后由 osully 于 2014-3-15 20:13 编辑
你敢说你懂什么叫多态吗?
敢就不要去打开eclipse或其他软件运行结果 ,直接回复我结果,然后告诉我为什么!
我今天算是迷糊了!!!!复习到什么知识 ,自己写个代码 就把自己绕进去,出不来了!
之前我也是背的:
在多态中成员函数的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。
在多态中,静态成员函数的特点:
无论编译和运行,都参考做左边。第一题:
- class Fu{
- String s = "fu";
- void show(){
- System.out.println(s);
- }
- }
- class Zi extends Fu{
- String s = "zi";
- }
- public class DuoTaiDemo {
- public static void main(String[] args) {
- Fu f = new Zi();
- f.show();
- Zi z = new Zi();
- z.show();
- }
- }
复制代码
第二题:
- class Super {
- public int id = 10;
- public void setId(int id) {
- this.id = id;
- }
- public int getId() {
- return id;
- }
- public Super() {
- System.out.println(id);
- setId(5);
- System.out.println(getId());
- }
- }
- class Sub extends Super {
- public int id = 20;
- public void setId(int id) {
- this.id = id;
- }
- public Sub() {
- System.out.println(id);
- setId(15);
- System.out.println(getId());
- }
- }
- public class DuoTaiDemo1 {
- public static void main(String[] args) {
- Super s = new Sub();
- }
- }
复制代码
|