extends类的继承

① Java类是单继承(只有一个父类),不支持多继承

注意

final类为最终类,没有子类,不能被extends继承,Math String都是final类,不能被继承

class B {
    
}
class A extends B {//A类继承B类
    
}
------------------------------------------------------
class A extends B,C,D {//错,只能继承一个类
    
}

② 重载 重写 继承调用[父类JiCheng2 子类JiCheng3 (子类继承父类) My1调用]

package victory;

//java类是单继承,不支持多继承

/*final类为最终类,没有子类,不能被extends继承
Math String都是final类,不能被继承
 */
public class JiCheng2 {
    public JiCheng2(int i) {
        System.out.println("父类构造方法JiCheng2(int i)");
    }


    public int pf(int i) {//平方值
        System.out.println("Parent...pf(int i)");
        return i * i;
    }

}
package victory;

public class JiCheng3 extends JiCheng2 {//子类JiCheng3 继承了 父类JiCheng2

    public JiCheng3(int i) {//此处必须写参数
        super(i);//子类的第一行必须new出父类,这一行上边绝对不能写别的东西
        System.out.println("子类构造方法JiCheng3(int i)");
    }

    //重载(出现在一个类中,也可以出现在继承关系中)
    public double pf(double d) {//和父类中的pf方法的方法名一样,都是pf,但是参数不一样,父类中参数是int i  子类中参数是double d 叫重载
        return d * d;
    }

    //重写(也叫覆盖,必须出现在继承关系中)感觉父类写的不行,在子类又重新写了一个(方法名、参数....都一样)
    public int pf(int i) {//平方值
        System.out.println("child...pf(int i)");
        return i * i;
    }

    //public static void main(String[] args) {
    //    JiCheng3 jc = new JiCheng3();
    //    System.out.println(jc.pf(5));//平方值
    //}
}
package victory;

public class My1 {
    public static void main(String[] args) {
        JiCheng3 jiCheng3 = new JiCheng3(3);
        System.out.println(jiCheng3.pf(3));
        
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_47827233/article/details/129072482