在JAVA程序中instanceof是什么意思 java中instanceof是什么意思

作者&投稿:益姿 (若有异议请与网页底部的电邮联系)
instanceof是什么东东?

instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。举个例子:

String s = "I AM an Object!";

boolean isObject = s instanceof Object;

我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为True。

instanceof有一些用处。比如我们写了一个处理账单的系统,其中有这样三个类:

public class Bill {//省略细节}

public class PhoneBill extends Bill {//省略细节}

public class GasBill extends Bill {//省略细节}

在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:

public double calculate(Bill bill) {

if (bill instanceof PhoneBill) {

//计算电话账单

}

if (bill instanceof GasBill) {

//计算燃气账单

}

...

}

这样就可以用一个方法处理两种子类。

然而,这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现,这是面向对象变成应有的做法,避免回到结构化编程模式。只要提供两个名字和返回值都相同,接受参数类型不同的方法就可以了:

public double calculate(PhoneBill bill) {

//计算电话账单

}

public double calculate(GasBill bill) {

//计算燃气账单

}

所以,使用instanceof在绝大多数情况下并不是推荐的做法,应当好好利用多态。

instanceof是什么东东?
instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。举个例子:
Strings="IAManObject!";
booleanisObject=sinstanceofObject;
我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为True。
instanceof有一些用处。比如我们写了一个处理账单的系统,其中有这样三个类:
publicclassBill{//省略细节}
publicclassPhoneBillextendsBill{//省略细节}
publicclassGasBillextendsBill{//省略细节}
在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:
publicdoublecalculate(Billbill){
if(billinstanceofPhoneBill){
//计算电话账单
}
if(billinstanceofGasBill){
//计算燃气账单
}
...
}
这样就可以用一个方法处理两种子类。
然而,这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现,这是面向对象变成应有的做法,避免回到结构化编程模式。只要提供两个名字和返回值都相同,接受参数类型不同的方法就可以了:
publicdoublecalculate(PhoneBillbill){
//计算电话账单
}
publicdoublecalculate(GasBillbill){
//计算燃气账单
}
所以,使用instanceof在绝大多数情况下并不是推荐的做法,应当好好利用多态。

在java中instanceof是什么意思~

判断对象属于哪种类型的
if(obj instanceof class)
{
}
其返回true情况如下
1.obj是class类的对象
2.obj是class类子类的对象

instanceof用来判断内存中实际对象属于那个类的,例如A nstanceof B,就是判断A是不是B类型.

java中 instanceof 的用法
答:instance是判断对象是否是特定类的一个实例(也就是必须是有继承关系,Dog d=new Cat()就会出现编译异常)d是Dog类型的实例 Dog类型是Animal的子类 Cat类型也是Animal子类 但是Cat类型和Dog类型之间没有任何父子关系 所以无法判断自然出现了异常

java中getInstance()的用法
答:getinstance这个方法在单例模式用的甚多,为了避免对内存造成浪费,直到需要实例化该类的时候才将其实例化,所以用getInstance来获取该对象,至于其他时候,也就是为了简便而已,为了不让程序在实例化对象的时候,不用每次都用new关键字,索性提供一个instance方法,让程序员书写简洁方便!比如下例:private ...

关于instanceof的用法
答:instanceof属于java关键字之一,instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:boolean result = obj instanceof Class 其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,...

...e)捕获异常,在catch中用instanceof对不同的异常分别处理
答:实现原理:实际上就是先不分具体的异常,直接捕获所有异常的父类Exception,之后在进行实例化异常判断,进行结果输出。举例:try{ //填写需要捕获异常信息的代码 } catch(Exception e) {//捕获异常信息 if(e instanceof NumberFormatException) {//判断是不是数据转换异常 System.out.println("...

面向对象程序中,继承,“可见性”是什么意思?
答:Instance variable 实例变量:实例变量定义在对象一级,它可以被类中的任何方法或者其他类的中方法访问,但是不能被静态方法访问。 Interface 接口:接口定义的是一组方法或者一个公共接口,它必须通过类来实现。 Java source file Java源文件:Java源程序包含的是Java程序语言计算机指令。 Java Virtual Machine (JVM) ...

Java怎么获取VMware中Vcenter/ServerInstance下的各种硬件信息_百度...
答:用Java来获取VMware ESX Server的信息可以通过一个第三方jar包进行方便的操作:Vijava – Vmware infrastructure(vSphere) java API

在java中可以使用哪些方法输出多个变量值?
答:1、java中可以使用System.out.printf()同时输出多个变量。2、instanceof关键字用来检测变量类。3、基本数据类型类通过xxxValue(floatValue,doubleValue,intValue,longValue等)转换为相应的基本数据类型。4、getInteger ( String nm)获取指定系统属性的整数值。

java isinstance与instanceof哪个好
答:对象 instanceof 类 obj instanceof class 如果class obj1 = obj成立的话,返回true,否则返回false 类.isInstance(对象)class.isInstance(obj)如果class obj1 = obj成立的话,返回true,否则返回false

java 什么是 instance method
答:instance method就是成员方法的意思,一般类里定义的常规方法都是成员方法。这些方法在调用的时候是需要构建实例(对象),然后通过实例来调用。区别于类方法(class method),不需要实例就能直接通过类名调用。

在java中创建对象到底有多少种方法?
答:除了以上4种显式地创建对象的方式以外,在程序中还可以隐含地创建对象,包括以下几种情况:1.对于java命令中的每个命令行参数,Java虚拟机都会创建相应的String对象,并把它们组织到一个String数组中,再把该数组作为参数传给程序入口main(String args[])方法。2.程序代码中的String类型的直接数对应一个...