class Base{
????int
x = 1;
????static
int
y = 2;
????String name(){
????????return
"mother";
????}
????static String staticname(){
????????return
"static mother";
????}
}
class Subclass extends Base{
????int
x = 4;
????int
y = 5;
????int
z = 6;
????String name(){
????????return
"baby";
????}
????static String staticname(){
????????return
"static baby";
????}
}
public
class Test02{
????public
static
void main(String[] args){
????????Subclass s = new Subclass();
????????if(s instanceof Subclass){
????????????System.out.println(s.x+" "+s.y+" "+s.name()+" "+s.staticname());
?
????????}
????????
????????Base s1 = s;
????????if(s1 instanceof Subclass){
????????????System.out.println(s1.x+" "+s1.y+" "+s1.name()+" "+s1.staticname());
????????
????????}
????????
????????Base s2 = new Base();
????????if(s2 instanceof Subclass){
????????????System.out.println(s2.x+" "+s2.y+" "+s2.name()+" "+s2.staticname());
????????
????????}
????????
????}
}
/*
结果:
4 5 baby static baby
1 2 baby static mother
?
结论:
instanceof
用来判定对象A是否为类B的对象,或者A,B之间是否存在继承关系
如果A,B之间是不否存在继承关系,则编译不过
?
*/