Java 继承时方法和属性使用简介

Java 继承时方法和属性使用简介,第1张

Java 继承时方法和属性使用简介
java里面一个类B继承于另一个类A,那么类B继承了类A里面的所有protected和public声明的方法和属性,在子类中可以使用super来进行使用,如果不在子类B里面使用@Override来重写继承于父类的方法的话,那么子类B的实例调用这个方法就是调用和父类里面的方法,如果重写了继承于父类的方法的话,那么子类的实例调用这个方法的时候就是调用子类里面重写方法。
public class Main {
    public static void main(String[] args) {
        A a = new A();
        B b = new B();
        b.B_meth();
        b.A_meth();
        b.x2 = 1;
        b.x3 = 2;

        B.y2 = 10;
        B.y3 = 20;
        C c = new C();
        c.C_meth();
        c.A_meth();
    }
}

class A {
    public int getX1() {
        return x1;
    }

    public void setX1(int x1) {
        this.x1 = x1;
    }

    private int x1;
    protected int x2;
    public int x3;
    private static int y1;
    protected static int y2;
    public static int y3;
   public void A_meth(){
       System.out.println("invoke A_meth");
   }
   private void A_meth_pri(){
       System.out.println("invoke A_meth_pri");
   }
   protected void A_meth_pro(){
       System.out.println("invoke A_meth_pro");
   }
}
class B extends A{

    public void B_meth(){
        System.out.println("invoke B_meth");
        
    }
    @Override
    public void A_meth_pro(){
        System.out.println("invoke A_meth_pro from B");
    }
}

class C extends A{
    public void C_meth(){
        System.out.println("invoke C_meth");
    }
    @Override
    public void A_meth(){
        System.out.println("invoke A_meth from C");
    }

}

输出结果:

invoke B_meth
invoke A_meth
invoke C_meth
invoke A_meth from C

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存