父类的定义格式(一个普通类的定义):
public class 父类名称{
//成员方法
//成员变量
}
子类的定义格式:
public class 子类名称 extends 父类名称 {
//。。。。。
}
在继承中
有3个class
一个父类,一个子类,一个调用
父类
public class EEE {
public void method(){
System.out.println("方法执行");
}
}
子类
public class TTT extends EEE{
}
调用
public class SSS {
public static void main(String[] args) {
TTT t=new TTT();
t.method();
}
}
结果
重写(Override)
在继承关系中,方法名一样,参数列表也一样
(子类的返回值类型必须【小于等于】父类的返回值类型)
(子类的权限必须【大于等于】父类的权限)
public>protected>(default)>private
重写与重载
重写(Override):方法名一样,参数列表【也一样】,覆盖,覆写
重载(Overload):方法名一样,参数列表【不一样】
super用法(3个)
父类`
public class Fu {
public Fu() {
System.out.println("父类的构造方法");
}
int num= 10;
public void method1() {
System.out.println("访问父类的方法");
}
}
子类
public class Zi extends Fu{
//(1)在子类的成员方法中,访问父类的成员变量
public Zi() {
super();
System.out.println("子类的构造方法");
}
int num=20;
//(2)在子类成员方法中访问父类成员变量
public void method() {
System.out.println(super.num);
}
//(3)在子类成员方法中访问父类成员方法
public void method1() {
super.method1();
System.out.println("访问子类的方法");
}
}
调用
public class sss {
public static void main(String[] args) {
Zi zi=new Zi();
zi.method();
zi.method1();
}
}
结果