(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
}
}
|