你知道Java什么是方法的覆盖吗?它的含义是什么呢?很多刚刚学习java的朋友对于这个概念都不是很理解,下面一起来看看吧。
其实方法覆盖一般指的就是方法重写。
在java以及一些其他高级面向对象编程语言当中,子类能够可继承父类中的方法,并不需要重新编写相同的方法。
可是,有的时候,子类不想原封不动地继承父类的方法,而是想进行一些修改,那么这个时候,就要运用到方法重写了,方法重写又被叫做是方法覆盖。
下面来通过一个例子了解一下:
public class Father { public static String name1 = "父类的类变量"; public String name2 = "父类的实例变量名"; //定义一个类方法 public static void classMethod() { System.out.println("Father父类通过类方法调用它的类变量:" + name1); } //定义一个实例方法 public void instanceMethod() { System.out.println("Father父类通过实例方法调用它的实例变量:" + name2); } } public class Son extends Father { public static String name1 = "子类的类变量"; public String name2 = "子类的实例变量"; //定义一个类方法 public static void classMethod() { System.out.println("Son子类通过类方法调用它的类变量:" + name1); } //定义一个实例方法 public void instanceMethod() { System.out.println("Son子类通过实例方法调用它的实例变量:" + name2); } } public class Test { public static void main(String[] args) { System.out.println("\n-----------------------------------------"); Son mySon1 = new Son(); Father myFather1 = mySon1; //对象类型转换的上转型 myFather1.instanceMethod(); System.out.println("\n------------------------------------"); Father myFather2 = new Father(); if (myFather2 instanceof Son) { //隐式对象类型转换 Son mySon2 = (Son) myFather2; //调用myFather对象的实例方法 mySon2.instanceMethod(); } } }
其实方法覆盖就是方法重写,这个你应该都清楚了吧,希望上面的内容可以对你有所帮助哦,想了解更多java基础知识,可以继续来奇Q工具网进行了解学习。
推荐阅读: