java——面向对象程序之“多态”

多态是指类的多态性,多态在现实中很普遍,例如:动物们都会行走,虽然都是走,但行走的姿态却都不一样;都是计算面积,可不同形状计算面积的方法却不一样;都是在学习,可是学生们学习的方法却不尽相同。
多态性是指在类定义中出现多个构造方法或多个同名的成员方法,所以多态性又称:一个名字,多个方法。
多态性使得继承的特性更具灵活性和可拓展性。多态性实现方式有两种,但两者之间也有不同。
1.重载
重载是指同一个类中定义多个名称相同,但参数个数或类型不同的方法。
2.覆盖
覆盖,是指在子类中定义名称,参数个数类型均与父类相同的方法,用以重写父类中的方法的功能。在使用是应该注意:在子类重定义父类方法时,与父类方法的参数个数,顺序,类型完全相同
例如定义动物类,狗类,猫类,内部的方法名相同,狗类猫类继承动物类:

//动物类
class Animal{
	public void walk(){
		System.out.println("动物爬行");
		}
	}
//狗类
class Dog extents Animal{
	public void walk(){
	System.out.println("狗爬行");
	}
}
//猫类
class Cat extents Animal{
	public void walk(){
	System.out.println("猫爬行");
	}
}
/*注意:上方的“狗类”和“猫类”内部方法名都为walk()但方法内部的类型是相同的(输出结果不同)
*/
//主类
public class L01_Animal{
	public static void main(String[] args){
		Animal animal=new Animal();//类的实例化
		Dog dog=new Dog();//类的实例化
		Cat cat=new cat();//类的实例化
		walkOfAnimal(animal);
		walkOfAnimal(dog);
		walkOfAnimal(cat);
		//定义动物爬行的方法,通过接受不同的动物方法后实现不同的方法
		public static void walkOfAnimal(Animal a){
			a.walk();
		}
	}
}  

如果想父类的方法不让子类的方法来覆盖他,要在父类方法前加上final关键字 ;同样的,父类的数据成员变量可以加上final关键字来让子类无法改变它。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值