子类引用变量可以赋给父类引用变量

(1)子类 引用变量 赋给 父类 引用变量(可以)  简单的判别办法  把右边的当做左边来用,看说得通不

Hero h = new Hero();
ADHero ad = new ADHero();
h = ad;

右边ad引用所指向的对象的类型是 物理攻击英雄
左边h引用的类型是 普通英雄
把物理攻击英雄 当做 普通英雄,说不说得通? 说得通,就可以转

父类转子类,要进行强转。ad = (ADHero) h;

instanceof 判断一个引用所指向的对象

packagecharactor;
  
publicclassHero {
    publicString name;
    protectedfloathp;
      
    publicstaticvoid main(String[] args) {
        ADHero ad = newADHero();
        APHero ap = newAPHero();
         
        Hero h1= ad;
        Hero h2= ap;
         
        //判断引用h1指向的对象,是否是ADHero类型
        System.out.println(h1instanceofADHero);
         
        //判断引用h1指向的对象,是否是APHero类型
        System.out.println(h2instanceofAPHero);
         
        //判断引用h1指向的对象,是否是Hero的子类型
        System.out.println(h1instanceofHero);
    }
}
(2) 可以将 执行接口的类的实例 赋给 接口引用变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package charactor;
   
public class Hero {
     public String name;
     protected float hp;
       
     public static void main(String[] args) {
         ADHero ad = new ADHero();
          
         AD adi = ad; // ad是 类的引用变量 adi是接口
           // 可以将 ad 赋给 adi
     }
       
}
接口的引用变量 只能实现 接口中定义的方法 ,没有在接口中定义的方法,变量都无法使用


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值