多态

面向对象下(多态)

  1. 多态(简单来说就是一个父类被多个子类继承)
package duixiang4;
public class Example13 {
public static void main(String[] args) {
	Animal an1=new Cat();
	Animal an2=new Dust();
	animalShout(an1);
	animalShout(an2);
}
public static void animalShout (Animal an) {
	an.shou();
}
}
interface Animal{
	void shou();
}
class Cat implements Animal{
	public void shou() {
		System.out.println("猫猫");
	}
}
class Dust implements Animal{
	public void shou() {
	System.out.println("汪汪");
	}
}

  1. 对象类型转换(分为向上和向下)

Ainmal an1=new Cat(); 向上类型转换,将cat对象当作Aniaml类型使用(注意的是父类不能调用子类方法和属性)
Cat cat =(Cat) animal; 向下类型转换,将animal对象强制转换为Cat类型

3.对象的判断
if(annimal instanceof Cat){
System.out.println(“属于”);
} else{
System.out.println(“不属于”);
}

  1. Object类提供的四个方法
    1equals()相等 2.getClass() 运行类 3hashCode() 哈希 4.toString()重写
  2. 匿名内部类(用得比较多)
package duixiang4;
//匿名内部类

public class Example18 {
public static void main(String[] args) {
	class Cat implements Ji{
		public  void shout() {
			System.out.println("猫猫----");
		}
	}
// animalShout(new Cat());	

}
public static void animalShout(Animal an) {
   an.shou();
}
}
interface Ji{
	void shout();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

金石不渝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值