java类的继承多态案例(有注释)

本文介绍了Java中多态性的概念,它涉及到继承、方法重写和子类对象赋值给父类引用。通过一个动物类及其狗、猫、老虎子类的案例展示了多态的使用,例如2岁的拉布拉多如何通过父类引用调用子类特有的行为。文章还提及了继承的关键点,包括单继承、自动继承Object类以及子类对父类属性和方法的访问特性。
摘要由CSDN通过智能技术生成

多态

  1. 不同的对象,作用于同一个操作,产生不同的结果
  2. 需要满足继承、方法重写和子类赋值给父类(或者父类指向子类)三个条件这时多态就出现了

案例:

定义一个动物类为父类,里面有动物的名字,年龄,品种.定义三个子类,狗,猫,老虎,然后打印
出信息,如:2岁的拉布拉多旺财汪汪汪的叫

package heihei;

public class animal {
	public static class Animal{//(父类条件1)
		String name;
		int age;
		String speak;
		void ab() {//无参函数
			System.out.println("动物:");	
		}
		void animal(String name,int age,String speak){//有参函数
			System.out.println("Animal"+ name+age+ "岁"
		+"Animal"+ speak);
		}
	}
	public static class Dog extends Animal{//继承父类的狗子类(条件1)
		void ab() {//方法重写(条件2)
			System.out.println("狗子:");
		}
		void animal(String name,int age,String speak){//方法重写
			System.out.println("Dog"+ name+age+ "岁"
					+"Dog"+ speak);
		}
	}
	public static class Cat extends Animal{//继承父类的猫子类
		void ab() {
			System.out.println("猫子:");
		}
		void animal(String name,int age,String speak){
			System.out.println("Cat"+ name+age+ "岁"
					+"Cat"+ speak);
		}
	}
	public static class Tiger extends Animal{//继承父类的虎子类
		void ab() {
			System.out.println("虎子:");
		}
		void animal(String name,int age,String speak){
			System.out.println("Tiger"+ name+age+ "岁"
					+"Tiger"+ speak);
		}
	}
	//操作子类对象给父类赋值(条件3)
	public static void test(Animal bb) {//Animal bb=d和c和a就把啊a,d,c的值给了父类bb
		bb.ab ();
	}
	
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Dog d=new Dog();
		test(d);
		//给有参函数赋值
		System.out.println("狗肉  "+6+" 汪汪汪");
		Cat c=new Cat();
		test(c);
		System.out.println("毛球  "+2+" 咩咩咩");
		Tiger a=new Tiger();
		test(a);
		System.out.println("大猫  "+5+" 嗷嗷嗷嗷嗷嗷");
	}
}

输出:
在这里插入图片描述

继承

  1. 继承的关键字:extends
  2. 只能单继承
  3. 自动添加一个父类就是Object
  4. 子类继承了父类的属性和方法,但是私有成员不能继承(其实是可以继承,只不过是隐藏了)
  5. 子类继承了父类的属性,是复制一份过来了.
  6. 继承中的构造函数,子类不能继承父类的构造函数,但可以通过特殊方法调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大兴的王兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值