训练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条件判断)的主要内容,如果未能解决你的问题,请参考以下文章