① 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));
}
}