/*
super关键字: 代表了父类空间的引用
1.子父类存在着同名的成员时,子子类中默认访问子类成员,可通过super关键字,指定访问父类的成员。(成员:成员方法和成员变量)
2.创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法
*注意: super与this关键字不能同时出现在同一个构造函数中调用其他的构造函数;
但能够需注意下面number
*/
class Fu {
int x=20;
int num;
String name;
public Fu() {
System.out.println("Fu类的无参构造");
}
public Fu(String name) {
this.name = name;
System.out.println("Fu类的带参构造------");
}
public void eat() {
System.out.println("小头爸爸吃东西");
}
}
class Zi extends Fu{
int x=10;
String name;
public Zi(String name) {
super(); //指定调用父类带参构造方法
//错误 this();
// super(name);
//构造函数调用必须是构造函数中的第一个语句
this.num=num;
}
public Zi() {
//有参构造覆盖无参
}
public void eat() {
System.out.println("大头儿子吃龙虾");
}
public void print() {
System.out.println("x="+x);
System.out.println("x="+super.x);
//super调用父类成员方法
super.eat();
}
}
public class 继承 {
public static void main(String[] args) {
Zi a = new Zi("狗娃");
a.eat();
a.print();
/*
* Fu b=new Zi(); b.eat();
*/
}
}
/*
重写:子父类出现同名函数---父无法满足子功能
(重写时子类的权限大于父类的) 交际圈
(.....返回值类型小于或等于父类返回值类型)
(子类抛出的异常类型要小于或等于父类抛出的异常类型)
重载: 一个类中出现两个及以上的同名函数
重载要求:1.函数名要一致
2.形参列表不一致(形参的个数或形参的类型不一致)
3.与返回值类型无关
*/
继承
最新推荐文章于 2024-06-05 22:42:55 发布