instanceof关键字

本文深入探讨Java中的面向对象编程概念,并重点解析多态性在实际编程中的应用,通过实例代码演示如何利用多态实现代码的复用性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.instanceof关键字

语法格式如下:

对象 instanceof  类型   ——返回boolean类型值

改语句一般用于判断一个对象是否为某个类的实例,是返回true,否返回false


2.父类的设计法则

通过instanceof关键字,我们可以很方便的检查对象的类型,但如果是一个父类的子类很多,这样的判断还是显得很繁琐,那么如何去设计一个父类呢?

(1)父类通常情况下都设计为抽象类或接口,其中优先考虑接口,如接口不能满足才考虑抽象类

(2)一个具体的类尽可能不去继承另一个具体类,这样的好处是无需检查对象是否为父类的对象


/**
	instanceof关键字
*/
public class InstanceofKeyWordDemo{
	public static void main(String[] args){
		
		Person man = new Man();
		say(man);
		Person w = new Women();
		say(w);

	}
	/*
	public static void say(Man m){
		m.say();
	}
	public static void say(Women w){
		w.say();
	}*/

	public static void say(Person p){
		p.say();
		//判断p对象是否为Women的实例
		if(p instanceof Women){
			Women w = (Women)p;
			w.getangry();
		}
		
	}
}



abstract class Person{
	private String name;
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return name;
	}
	public abstract void say();//抽象方法
}

class Man extends Person{
	public void say(){
		System.out.println("人家是纯爷们!");
	}
}
class Women extends Person{
	public void say(){
		System.out.println("你今天要是再不交租,我就烧了你的铺子!");
	}
	//本类中进行扩展的方法
	public void getangry(){
		System.out.println("讨厌,人家生气了啦!");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值