Java中的“多态”详解

本文详细介绍了Java中的多态概念,包括其意义、必要条件和使用格式。探讨了多态下成员变量和方法的变化,并讲解了instanceof关键字的用法以及多态中的向上转型和向下转型,强调了转型过程中应注意的细节。
摘要由CSDN通过智能技术生成

目录

1.多态的概念和意义

2.多态的必要条件及使用格式

3.多态--子父类中成员变量和成员方法的变化

4.关键字 instanceof

5.多态中的两种转型


1.多态的概念和意义

多态是面向对象三大特性(封装,继承,多态)之一,多态的定义是指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。个人理解,假设类B,C都继承了A,A中有一个fun()方法,B,C类必须重写fun()f方法,当B,C都定义了对象后,可以动态的根据不同的对象对A的fun()方法有不同的表现。

多态的好处:提高了代码的维护性(继承保证),提高了代码的扩展性(由多态保证)。

 

2.多态的必要条件及使用格式

多态的必要条件:

  • 必须存在继承关系;
  • 子类必须要重写;
  • 父类引用指向子类对象。

多态的定义格式:(存在三种情况的多态:普通类的多态,抽象类的多态,接口的多态

/*多态的基本定义格式:
*    父类类型  变量名 = new 子类类型();
*    变量名.方法名();
*/

// 情况一:普通类多态定义的格式
// 父类 变量名 = new 子类();
public class Fu { public void fun(){...}}	
public class Zi extends Fu { public void fun(){ xxx } } // 子类重写父类方法	
Fu f = new Zi(); //类的多态使用
 

// 情况二:抽象类多态定义的格式
// 抽象类 变量名 = new 抽象类子类();
public class abstract class Fu {
         public abstract void method();
	     }
public class Zi extends Fu {
        public void method(){
		      System.out.println(“重写父类抽象方法”);
        }
}
Fu fu= new Zi();  //类的多态使用


// 情况三:接口多态定义的格式
// 接口 变量名 = new 接口实现类();
public class interface Fu {
		     public abstract void method();
}
public class Zi implements Fu {
        public void method(){
              System.out.println(“重写接口抽象方法”);
        }
}
Fu fu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值