10-多态和对象的转换

10-多态和对象的转换

  • 类与类之间的转换:
    1. 向上转型 – 子类 --> 父类 自动
    2. 向下转型 – 父类 --> 子类 强制
public class Demo {

	public static void main(String[] args) {
		Pet dog = new Cat();  //这只狗是一个宠物   父类的引用指向子类对象
		//Dog pet = (Dog) new Pet();   // 宠物就是狗     //强制类型转换
		if( dog instanceof Dog){   //这个dog这个对象是一个狗狗吗?   是:true 不是:false
			Dog d =(Dog) dog;        //已经确定对方的身份   向下类型转换  强制类型转换
			System.out.println(d);
		}else{     
			System.out.println("不是狗");
		}	
	}
}
  • 多态: 将父类作为方法形式参数,在方法运行的时候,传入不同的子类对象 当同一个事物,由于条件不同,产生的结果也不同.

  • 实现多态的步骤:

    1.编写父类

    2.编写子类,子类重写父类的方法

    3.运行时,父类去创建子类的对象

public abstract  class Pet {

	private String name; //昵称
	private int health ; //健康值
	//公有的取值赋值方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getHealth() {
		return health;
	}
	public void setHealth(int health) {
		this.health = health;
	}
	//构造函数
	public Pet(String name, int health) {
		super();
		this.name = name;
		this.health = health;
	}
	public Pet() {
		super();
	}
//宠物的独白
	public abstract void show();
	//宠物们吃的方法
	public abstract void eat();
}

猜你喜欢

转载自blog.csdn.net/qq_26270869/article/details/90024425
今日推荐