【Java】方法覆写(重写)

静态的方法与非静态的方法区别很大

静态方法:方法调用只与左边有关,定义的数据类型关

非静态方法:重写

重写:需要有能承美系。子类重写父类的方法!

子类的方法和父类必须一致,方法体不同

1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但不能缩小:
public>Protected>Default>private
4.抛出的异常:范围,可以被缩小但不能扩大: ClassNotFoundException --> Exception(大)

为什么需要用写:
1.父类的功能,子类不一定需要。或者不一定满足!

class A{
public static void text() {
System.out.println("A->text");
}
}
//重写是方法的重写,与属性无关
class B extends A{
public static void text() {
System.out.println("B->text");
}
}
public class Application{
public static void main(String[] args) {
 //方法调用只与左边有关,定义的数据类型关
B b = new B();
b.text();
//父类的引用指向了子类
A a = new B();
a.text();
}
}
运行结果:
B->text
A->text

class A{
public void text() {
System.out.println("A->text");
}
}
//重写是方法的重写,与属性无关
class B extends A{
public void text() {
System.out.println("B->text");
}
}
public class Application{
public static void main(String[] args) {

B b = new B();
b.text();
//父类的引用指向了子类
A a = new B();
a.text();
}
}
运行结果:
B->text
B->text

猜你喜欢

转载自blog.csdn.net/weixin_45867159/article/details/108064002