java多态理解


java中的多态 表现为:子类对象可以作为父类对象来实用 (父类对象可以通过引用一个子类的实例来调用子类的方法)


原应是:子类通过继承具有了父类的所有属性和方法(私有的除外),假设子类没有重写父类中的方法,

那么在需要执行父类对象的方法时,效果等同于执行子类对象的方法,

如果子类在继承后重写了父类的方法,那么在执行子类对象方法时,系统会选择执行子类重写的方法,


由此看出多态是由系统内建的功能,而不是程序员设计的逻辑算法,相当于是系统为了方便程序员灵活开发而实现的功能,

这也就是多态的作用,


需要注意的是,实现多态时子类对象只能调用父类中存在的方法,不能调用子类型新增的方法,


class A{
	public int x = 2;
	public void fun(){
		System.out.println(x);
	}
}

class B extends A{
	public void fun(){
		System.out.println(++x);
	}
}
public class demo{
	public static void main(String args[]){
		A obj = new B();
		obj.fun();  //输出 3
	}
}

多态的好处:把子类实例的引用赋值给父类对象,由父类对象调用方法(通用代码),实际调用子类重写的方法,父类对象调用的方法一样,实际执行的结果各不相同,

这样的好处是 代码可移植性增强,减少代码量,灵活方便,




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值