黑马程序员技术交流社区
标题:
【求助】instanceof要怎么用呢?
[打印本页]
作者:
林豪
时间:
2012-4-30 21:55
标题:
【求助】instanceof要怎么用呢?
instanceof要怎么用呢?
能不能举几个例子
作者:
杨志
时间:
2012-4-30 22:15
这就是去判断对象的类型。
判断对象是否属于你定义的类型。
public class Test{
}
public vid test(){
Test test = new Test();
System.out.println(test instanceof Test );
}
复制代码
这里test是Test类型的。那就就会输出true;
如果不是的话就会是false;不知道能不能帮上你!谢谢!
作者:
何阳
时间:
2012-4-30 22:33
//当你传递一个类类型变量到一个方法中的时候
//比较2个对象的成员属性,如果2个对象不是同一个类产生的实例对象,
//你觉的他们有可以性吗?
//例如,你要比较2个人的年龄是否是一样的,你肯定会那一个人的年龄去
//和另外一个人比较,
但是在你写方法的时候,你给确定调用者给你传进来的
//就是一个人吗?可能是一个动物 ,那我们怎么去比较,所以当外界调用我们的
//方法时,我们应该做健壮性的判断,提高程序的安全性,
//用this instanceof d 判断传进来的是否和当前对象属于同一类型
//不是,直接抛异常,是,你才有资格和我比较。o了。
作者:
陈苓
时间:
2012-4-30 23:19
用于判断类型是否相同
用在多太上
代码演示:
abstract class Animal
{
abstract void eat();
}
class Dog extends Animal
{
void eat()
{
System.out.println("啃骨头");
}
void lookHome()
{
System.out.println("看家");
}
}
class Cat extends Animal
{
void eat()
{
System.out.println("吃鱼");
}
void catchMouse()
{
System.out.println("抓老鼠");
}
}
class Pig extends Animal
{
void eat()
{
System.out.println("猪饲料");
}
void gongDi()
{
System.out.println("拱地");
}
}
class DuoTaiDemo2
{
public static void main(String[] args)
{
method(new Cat());
method(new Dog());
}
public static void method(Animal a)//Animal a = new Cat();
{
if(a instanceof Cat)
// 对象 instanceof 类型 判断具体对象是否是指定的类型。
// instanceof是一个关键字,用于判断对象的类型,
// 什么时候用?当进行向下转型时,先判断该对象是否符合被转成的子类型。
{
Cat c = (Cat)a;//ClassCastException
c.catchMouse();
}
else if(a instanceof Dog)
{
Dog d = (Dog)a;
d.lookHome();
}
a.eat();
}
}
这里简单说明,假如来了一个猫,你并不做对象类型判断就把他转成狗,那是不行的。这个关键字的用途就是判断对象类型是否相同。以后在写程序遇到类型转换的时候就可以用
作者:
周海诚
时间:
2012-5-1 09:55
本帖最后由 周海诚 于 2012-5-1 10:01 编辑
"instanceof ":
用法:
trace(obj instanceof Panel);
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true 。
如果 object 不是指定类的一个实例,或者 object 是 null ,则返回 false
代码解释最清楚:
1.
alert(""instanceofObject);//false
alert([]instanceofArray);//true
2.
function judge(){
var arr=new Array();
alert(typeof(arr));//object
alert((arr instanceof Array));//true
}
作者:
xiwangliujiao
时间:
2012-5-2 11:19
instanceof 的作用就是来判断一个对象是否属于某个类,判断的结果为布尔类型的,如 Person p=new Person() p instanceof Person 就是true 了
作者:
隋营营
时间:
2012-5-2 11:24
一个例子就够了:
String sg = "黑马";
System.out.println(sg instanceof String); //true
作者:
^.^晴天
时间:
2012-5-2 12:15
instanceof用于判断对象的具体类型,只能用于引用数据类型判断,一般应用于向下转型
public static void method(Animal a){
a.eat();
if(a instanceof cat ){ //如果是猫就执行
Cat c=(Cat)a;
c.catchMouse();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2