1、方法重写概述
重写发生在两个类中,这两个类必须有继承或实现关系。
子类中出现了和父类中一模一样的方法声明。这一模一样指的是什么?
(1)方法名、返回值类型、参数(个数、类型、顺序)与父类一样,子类与父类函数体内容不一样;
(2)声明为final、static、private的方法不能被重写,声明为其中一个或者多个都不可以。
(3)子类方法访问修饰符的限制一定要大于父类方法的访问修饰( public > protected > default > private);
(4)子类重写方法一定不能抛出新的检查异常或者比被父类方法申明更加宽泛的检查型异常。 ClassNotFoundException --> Exception
2、方法重写的应用
当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。看代码实现。
(1)Fu类的代码实现
public class Fu {
public void call() {
System.out.println("可以打电话。。");
}
}
(2)Zi类的代码实现
public class Zi extends Fu {
@Override
public void call() {
System.out.println("可以发视屏。。");
super.call();
}
}
(3)Test类代码实现。
public class Test {
public static void main(String[] args) {
Zi z = new Zi();
z.call();
}
}
运行结果
3、注意点
(1)@Override:是一个注解,它的作用是帮助我们检查重写方法的方法声明的正确性;
(2)私有方法不能被重写,父类的私有成员子类是不能继承的。
本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!
创作不易,如果对你有点帮助的话麻烦点个赞支持一下!
新手小白,欢迎留言指正!