Java父、子类成员变量和方法的调用关系

来源:互联网 发布:房源中介系统源码 编辑:程序博客网 时间:2024/05/16 18:19

成员变量的调用和创建类时new后面的类型无关,和当前实力所属的类型有关;

调用方法时,只与new后面的类型有关。

代码:

<span style="font-size:14px;">public class Mastiff extends Dog {public String type="子类成员变量赋值";@Overridepublic void fun1() {System.out.println("Mastiff fun1");}@Overridepublic void fun2() {System.out.println("Mastiff fun2");}public static void  main(String[] args){    Mastiff mastiff = new Mastiff();    System.out.println(mastiff.type);    mastiff.fun1();    mastiff.fun2();        Dog dog1 = new Mastiff();    System.out.println(dog1.type);    dog1.fun1();    dog1.fun2();        Dog dog2 = (Dog)mastiff;    System.out.println(dog2.type);    dog2.fun1();    dog2.fun2();    }}  </span>
<span style="font-size:14px;">public abstract class Dog {public String type="父类成员变量赋值";public abstract void fun1();public void fun2() {System.out.println("Dog fun2");}}</span>

执行结果:

子类成员变量赋值
Mastiff fun1
Mastiff fun2
父类成员变量赋值
Mastiff fun1
Mastiff fun2
父类成员变量赋值
Mastiff fun1
Mastiff fun2


0 0
原创粉丝点击