一个事物的不同表现形式,如在高级java这个知识点中,就包括了高级和java两个属性。理解了这个例子后,我们进一步对多态的概念进行分析,以它的表现形式为切入点,分为重写、重载、抽象类和接口。下面我们分别就这些表现形式就行分析,并带来相关的代码实例。
1.重写
在继承过程中,子类定义了与父类中名称相同,参数相同,返回值相同的方法称为重写
重写时,子类不能比父类的访问权限更严格
重写的好处:增加代码的灵活性
Person p1 = new Student(); Person p2 = new Teacher(); p1.work(); //p1会调用Student类中重写的work方法 p2.work(); //p2会调用Teacher类中重写的work方法
2.重载
在同一个类中,定义了多个名称相同,参数不同的方法称为重载,跟返回值无关。
参数不同的表现形式为个数不同,类型不同,顺序不同
重载的好处:增加代码的而灵活性
3.抽象类
在Java语言中,一个类中的方法中给出了标准,而没有给出具体的实现方法,这样的类就是抽象类。
abstract class Fu { public abstract void method(); } class Zi extends Fu { public void method(){ System.out.println(“重写父类抽象方法”); } } //类的多态使用 Fu fu= new Zi();
4.接口
在多态机制中,接口比抽象类使用起来更方便,而抽象类组成的集合就是接口。
abstract class Fu { public abstract void method(); } class Zi extends Fu { public void method(){ System.out.println(“重写父类抽象方法”); } } //类的多态使用 Fu fu= new Zi();
以上就是java多态的表现形式分析,对于方法重载这一点上,在目前来说是否为多态的表现形式还存在争议,大家对于其他的三种形式需要牢牢掌握,重载进行简单了解即可。