日期:2014-05-20  浏览次数:20583 次

看不懂啊,谁能帮我解释下!
package com.sf.s5;

public class TextInstanceOf {
static class ObjectA{
static String A="Object";
}
static class ObjectB extends ObjectA{
static void showInfo(){
System.out.printf("超类的静态属性%s的值:%s%n","A",A);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ObjectA a=new ObjectA();
ObjectB b=new ObjectB();

//判断A是否是Object类型
if(a.A instanceof Object){
System.out.println("静态属性A是Object类型");
}else{
System.out.println("静态属性A不是Object类型");
}

//判断A是否是String类型
if(a.A instanceof String){
System.out.println("静态属性A是String类型");
}else{
System.out.println("静态属性A不是String类型");
}

//判断null是否是Object类型
if(null instanceof Object){
System.out.println("null是Object类型");
}else{
System.out.println("null不是object类型");
}

//判断对象a是否为ObjectA类型
if(a instanceof ObjectA){
System.out.println("对象a是ObjectA类型");
}else{
System.out.println("对象a不是ObjectA类型");
}

//
if(b instanceof ObjectA){
System.out.println("对象b是ObjectA类型");
}else{
System.out.println("对象b不是ObjectA类型");
}

//
if(a instanceof ObjectB){
System.out.println("对象a是ObjectB类型");
}else{
System.out.println("对象a不是ObjectB类型");
}

//
if(b instanceof ObjectB){
System.out.println("对象b是ObjectB类型");
}else{
System.out.println("对象b不是ObjectB类型");
}
}

}


------解决方案--------------------
Java code
//判断A是否是Object类型
if(a.A instanceof Object){
System.out.println("静态属性A是Object类型");
}else{
System.out.println("静态属性A不是Object类型");
}