(1)子类 引用变量 赋给 父类 引用变量(可以) 简单的判别办法 把右边的当做左边来用,看说得通不
Hero h = new Hero();
ADHero ad = new ADHero();
h = ad;
右边ad引用所指向的对象的类型是
物理攻击英雄
左边h引用的类型是 普通英雄
把物理攻击英雄 当做 普通英雄,说不说得通? 说得通,就可以转
左边h引用的类型是 普通英雄
把物理攻击英雄 当做 普通英雄,说不说得通? 说得通,就可以转
父类转子类,要进行强转。ad
= (ADHero) h;
instanceof
判断一个引用所指向的对象
|
package charactor; public class Hero
{ public String
name; protected float hp; public static void
main(String[] args) { ADHero
ad = new ADHero(); APHero
ap = new APHero(); Hero
h1= ad; Hero
h2= ap; //判断引用h1指向的对象,是否是ADHero类型 System.out.println(h1 instanceof ADHero); //判断引用h1指向的对象,是否是APHero类型 System.out.println(h2 instanceof APHero); //判断引用h1指向的对象,是否是Hero的子类型 System.out.println(h1 instanceof Hero); } } |
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 } } |