导航:首页 > 编程语言 > javainstanceof翻译

javainstanceof翻译

发布时间:2023-02-13 18:50:23

Ⅰ 在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关键字之一,instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:boolean result = obj instanceof Class

其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。

注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。


(2)javainstanceof翻译扩展阅读

obj 必须为引用类型,不能是基本类型。instanceof 运算符只能用作对象的判断。在JavaSE规范中对 instanceof 运算符的规定就是:如果 obj 为 null,那么将返回 false。

知道Java分为两种数据类型,一种是基本数据类型,有八个分别是 byte short int long float double char boolean,一种是引用类型,包括类,接口,数组等等。

而Java中还有一种特殊的 null 类型,该类型没有名字,所以不可能声明为 null 类型的变量或者转换为 null 类型,null 引用是 null 类型表达式唯一可能的值,null 引用也可以转换为任意引用类型。不需要对 null 类型有多深刻的了解,只需要知道 null 是可以成为任意引用类型的特殊符号。

Ⅲ java 编程instanceof 操作符

instanceof前面的引用和后面的类型之间至少要存在可能的继承关系,也就是后面的类型应该和前面的引用类型一致或者是其子类。否则的话,instanceof绝无可能成立,也就是在编译时就可以判断这里结果一定是false了,也就没有必要等到运行时再做这个instanceof运算了。因此,前后类型无关的instanceof运算在Java中是不允许的。

Ⅳ java 中 instanceof 怎么理解,能否举个例子,看了书还是有点模糊

instanceof 类似一个符号一样,类似+号,-号,=号这种的,你可以这样理解的

举个例子哈,假如现在我有两个父类,Person类和Animal类,现在有以下关系
Student extends Person(学生肯定是一个人,所以学生类继承人类)
Dog extends Animal(狗肯定是动物,所以狗类继承动物类)

所以现在我new一个Student对象小明和一个Dog对象旺财
Student student= new Student("小明");
Dog dog = new Dog("旺财");

你看+号,1+2表示是前者1和后者2相加是吧,返回一个数字
而instanceof 表示,前者对象是否是后者对象的一个实例,返回true或false,好,现在以上例子来说
student instanceof Student // return true
小明肯定是学生类的一个实例
student instanceof Person // return true
这也是true,因为小明是一个学生,他也是一个人啊,所以小明肯定是人的一个实例
dog instanceof Person // return false
这就是false了,因为旺财是一条狗,不是人,所以它不是人的一个实例,所以返回false

总结:instanceof多用在多态的使用中用于判断当前类是哪些父类的子类

Ⅳ java 中的 instanceof 是什么意思

A.instanceof(B);
就是A对象是否为B类的实例,如果是返回true,否则返回false;

Ⅵ java中instanceof是什么意思

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

Ⅶ java中instanceof的用法

类型不兼容的情况下不能直接使用instanceof来进行判断,如果这两个类型是基本数据类型可以使用a.getClass().equals(B.class)(其中a是基本数据类型A的一个变量,相当于你这里的s,B是你想要比较的那个数据类型,这里相当于Boolean);如果这两个类型是你自己创建的普通类,则可以让他俩继承一个共同的类,或者实现同一个接口。你这个属于第一种情况,程序如下:

publicclassJudgeType{
publicstaticvoidmain(String[]args){
Strings="true";
Booleanb=true;

System.out.println(s.getClass().equals(Boolean.class));//输出为false
}
}

再举一个第二种的情况,程序如下:

publicclassTest{
publicstaticvoidmain(String[]args){
Personp=newTeacher();//使用多态

booleanb=pinstanceofStudent;
System.out.println(b);//输出为false
}
}

classPerson{

}

classStudentextendsPerson{

}

classTeacherextendsPerson{

}

Ⅷ java基础知识中,instanceof的用法,麻烦具体说明一下

Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
Result:布尔类型。
Object:必选项。任意对象表达式。
Class:必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false。

例子如下:

package com.instanceoftest;

interface A{}
class B implements A{

}
class C extends B {

}

class instanceoftest {
public static void main(String[] args){
A a=null;
B b=null;
boolean res;

System.out.println("instanceoftest test case 1: ------------------");
res = a instanceof A;
System.out.println("a instanceof A: " + res);

res = b instanceof B;
System.out.println("b instanceof B: " + res);

System.out.println("/ninstanceoftest test case 2: ------------------");
a=new B();
b=new B();

res = a instanceof A;
System.out.println("a instanceof A: " + res);

res = a instanceof B;
System.out.println("a instanceof B: " + res);
res = b instanceof A;
System.out.println("b instanceof A: " + res);

res = b instanceof B;
System.out.println("b instanceof B: " + res);

System.out.println("/ninstanceoftest test case 3: ------------------");
B b2=(C)new C();

res = b2 instanceof A;
System.out.println("b2 instanceof A: " + res);

res = b2 instanceof B;
System.out.println("b2 instanceof B: " + res);

res = b2 instanceof C;
System.out.println("b2 instanceof C: " + res);
}
}

/*
result:

instanceoftest test case 1: ------------------
a instanceof A: false
b instanceof B: false
instanceoftest test case 2: ------------------
a instanceof A: true
a instanceof B: true
b instanceof A: true
b instanceof B: true
instanceoftest test case 3: ------------------
b2 instanceof A: true
b2 instanceof B: true
b2 instanceof C: true

*/

望采纳,谢谢。

Ⅸ “instanceof”是什么意思

instance of...的意思是“...的实例”

造句:

Ⅹ Java中A instanceof B是什么意思

Java中A instanceof B是用来判断内存中实际对象A是不是B类型。

出现这种情况经常是需要强制转换的时候

class Dog extends Animal

譬如dog定义了自己的方法wangwang

Animal anAnimal = new Dog();

此时不能直接调用anAnimal.wangwang方法

但是可以

if( anAnimal instanceof Dog){

Dog dog = (Dog)anAnimal;

dog.wangwang就可以调用了

}

阅读全文

与javainstanceof翻译相关的资料

热点内容
linux端口镜像 浏览:820
iphone5屏幕清尘 浏览:157
机顶盒密码怎么改 浏览:672
w7系统下载32位教程 浏览:618
pcb文件包括哪些内容 浏览:598
g00文件 浏览:607
用bat程序删除程序 浏览:516
dnf鬼泣90版本打安图恩 浏览:668
245倒角编程怎么计算 浏览:599
可以买生活用品的app有哪些 浏览:175
cad在c盘产生的文件夹 浏览:541
联想手机解锁工具 浏览:696
瑞银3887win10 浏览:833
学网络编程哪个好 浏览:805
手机vmos导入的文件在哪里 浏览:115
苹果手机可以把文件传到华为吗 浏览:63
海川化工下载的文件默认到哪里 浏览:343
学唱粤语歌app 浏览:975
qq游戏生死狙击玩不了 浏览:120
win10邮件不显示图片 浏览:922

友情链接