ExtendsField

package cn.yyhl.day14;

/*
在父子类的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方式:

直接通过子类对象访问成员变量:
    等号左边的是谁,就优先用谁,没有则向上找。
间接通过成员方法访问成员变量:
    改方法属于谁,就优先用谁,没有则向上找。
 */
public class ExtendsField {
    public static void main(String[] args) {
        Fu fu = new Fu();//创建父类对象
        System.out.println(fu.numfu);//10 只能使用父类的东西,没有任何子类的内容
        System.out.println("============");

        Zi zi = new Zi();
        System.out.println(zi.numfu);//10
        System.out.println(zi.numzi);//20
        System.out.println("=============");

        System.out.println(zi.num);//优先子类,200
//        System.out.println(zi.sb);//到处都没有,编译报错
        System.out.println("=================");

        //这个方法是子类的,优先用子类的,没有在网上找。
        zi.methodzi();//200
        //这个方法在父类当中定义的
        zi.methodfu();//100
    }
}
package cn.yyhl.day14;

public class Fu {
    int numfu = 10;
    int num = 100;

    public void methodfu(){
        System.out.println(num);
    }
}
package cn.yyhl.day14;

public class Zi extends Fu {
    int numzi = 20;
    int num = 200;
    public void methodzi(){
        System.out.println(num);
    }
}

 

上一篇:将一个数组分成奇数部分和偶数部分,并分别排好序 CVTE


下一篇:spring与hibernate整合配置基于Annotation注解方式管理实务