训练7鸡是不是鸟?(instanceof表达式返回值是布尔值,可用于if条件判断)

Posted 轻松熊猫眼石

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了训练7鸡是不是鸟?(instanceof表达式返回值是布尔值,可用于if条件判断)相关的知识,希望对你有一定的参考价值。

【训练7】鸡是不是鸟?
判断“鸡是不是鸟”并阐述依据(鸡是鸟的子类,所以鸡是鸟)

/*【训练7】鸡是不是鸟?
 * 判断“鸡是不是鸟”并阐述依据(鸡是鸟的子类,所以鸡是鸟)
 * */

package JcDtCxlhJk;

class Bird2
	public void fly() //构造方法
		System.out.println("鸟类都会飞吗?");
	
	


class Chicken extends Bird2
	@Override
	public void fly() 
		System.out.println("鸡就不会飞!");
	
		


public class Xl7 

	public static void main(String[] args) 
		// TODO 自动生成的方法存根
		Chicken chicken = new Chicken();//鸡对象
		System.out.print("鸡是否属于鸟类?");
		
		//判断
		if(chicken instanceof Bird2) 	//判断鸡是否为鸟的子类
			System.out.println("鸡属于鸟类");
			Bird2 bird2 = new Bird2();	//鸟对象
			bird2.fly();				//鸟的行为
			chicken.fly();				//鸡的行为
		else 
			System.out.println("鸡不属于鸟类");
						

	



关系运算符:instanceof

 

关系运算符:instanceof

a instanceof Animal;(这个式子的结果是一个布尔表达式)

a为对象变量,Animal是类名。

上面语句是判定a是否可以贴Animal标签。如果可以贴则返回true,否则返回false。

在上面的题目中: a instanceof Animal返回 True,

                a instanceof Dog也返回 True,

instanceof用于判定是否将前面的对象变量赋值后边的类名。

Instanceof一般用于在强制类型转换之前判定变量是否可以强制转换。

 

如果Animal a=new Animal();

Dog d=Dog()a;

此时编译无误,但运行则会报错。

 

Animal a=new Dog()相当于下面语句的功能:

Animal a=getAnimal();

Public static Animal.getAnimal;

Return new Dog();

 

 1 package TomText;
 2 //方法的传递参数。
 3 public class TomText_21 {
 4     static void test(boolean paratest) {
 5         paratest = !paratest;
 6         System.out.println("In test (boolean) : test = " + paratest);
 7     }
 8     public static void main(String[] args) {
 9         boolean test = true;
10         System.out.println("Before test (boolean) : test = " + test);
11         test(test);
12         System.out.println("After test (boolean) : test = " + test);
13     }
14 
15 }

 

 

以上是关于训练7鸡是不是鸟?(instanceof表达式返回值是布尔值,可用于if条件判断)的主要内容,如果未能解决你的问题,请参考以下文章

instanceof, typeof, & Object.prototype.toString

instanceof操作符

使用instanceof操作符判断对象类型及方法的重载

instanceof 操作符 接口 多态

如果是父实例,instanceof 是不是返回 true?

关系运算符:instanceof