1,新建Application类,作为程序的入口
package oop.demo05;
//继承
public class Application {
public static void main(String[] args) {
/**
* 静态方法与非静态方法区别很大
* 静态方法:方法的调用只与左边定义的数据 类型,有关
* 非静态方法: 重写;
*/
System.out.println("============方法的重写============");
A a = new A();
a.test(); //A===>test()
a.test2();//B===>test2()
// 父类的引用指向了子类;B 指向 A
B b = new A();
b.test();//B===>test()
a.test2();//B===>test2() //子类重写父类的方法
}
}
2,新建A类 (A类继承B类)
package oop.demo05;
import javax.swing.plaf.PanelUI;
// 继承B类
public class A extends B{
public static void test(){
System.out.println("A===>test()");
}
// Override 重写
@Override
public void test2() {
// super.test2(); //默认调用父类
// 可重写自己的方法
System.out.println("B===>test2()");
}
}
3,新建B类
package oop.demo05;
//重写都是方法的重写,与属性无关
public class B {
public static void test(){
System.out.println("B===>test()");
}
public void test2(){
System.out.println("B===>test2()");
}
}
4,方法的重写 笔记
## 重写
需要有继承关系,子类重写父类的方法
1,方法名必须相同
2,参数列表必须相同(如果不同的话,就变成重载了)
3,修饰符:范围可以扩大,但不能被缩小 public>protected>default>private
4,抛出的异常:范围可以被缩小,但不能被扩大
重写,子类与父类的方法名必须要一致,方法体不同
5,运行结果