java 代码
-
-
-
-
-
-
-
- interface MyInterface{}
-
- public class MyInstanceTest implements MyInterface{
- static String s;
- public static void main(String args[]){
- MyInstanceTest t = new MyInstanceTest();
- if(t instanceof MyInterface){
- System.out.println("I am true interface");
- }else {
- System.out.println("I am false interface");
- }
- if(s instanceof String){
- System.out.println("I am true String");
- }else {
- System.out.println("I am false String");
- }
- }
- }
-
首先说明 instanceof 操作符,由于Java语言自身继承方式的特点,决定了你
可以将子类实例传给一个父类对象,举例来说,
java 代码
- Collection myCollection=new ArrayList();
以上这行代码就是将子类的实例传给父类的对象。我们可以做一个测试:
java 代码
- Collection myCollection=new ArrayList();
- boolean isCollection=(myCollection instanceof Collection);
- boolean isArrayList=(myCollection instanceof ArrayList);
- System.out.println("isCollection : "+isCollection);
- System.out.println("isArrayList : "+isArrayList);
这时,你可以看到,这两个输出结果都是“true”。接下来在对MyInstanceTest
类进行分析,首先第一个条件判断中打出的信息毫无疑问如下:
I am true interface
但是对于第二个判断语句来说,尽管静态变量“s”的类型是String,但是对于“S”
来说,它并没有获得String类型的实例,因此,打印的信息如下:
I am false String
我们对程序作一些小小的修改:将“S”的申明变为:
java 代码
- static String s=new String();
这时,你自然就得到了预期的执行结果:
I am true String
分享到:
相关推荐
在JavaScript中,`instanceof`操作符用于检测一个对象是否属于某个类的实例。这个操作符在日常开发中被广泛使用,但有时它可能会表现出一些意外的行为,这可能被误认为是“bug”。本文将深入探讨`instanceof`的工作...
第2章 理解对象与类 9 2.1 什么是对象 9 2.2 什么是类 9 2.3 HelloJava示例的分析 11 2.4 巩固练习 12 第3章 Java语言的基本语法 13 3.1 代码编写规则 13 3.2 注释 13 3.3 标识符 14 3.4 变量和...
在这个例子中,第三个参数`true`表示我们需要检查`$obj`是否是一个已经实例化的`A`类的对象,而不是仅仅检查类的继承关系。 考虑到现代PHP环境通常都在PHP 5.0以上,推荐使用`instanceof`,因为它提供了更直接的...
9. 使用场景和注意事项:instanceof操作符适用于检测对象是否属于特定类的实例,但当涉及到跨iframe环境时,可能会出现检测不准确的情况,因为不同iframe有自己的全局对象,它们之间的原型链并不互通。 10. 性能...
通过阅读和分析`main.js`中的代码,我们可以更深入地理解`instanceof`的实际使用场景,以及它在处理对象和类之间的关系时如何发挥作用。在实际编程中,熟练掌握`instanceof`的用法能够帮助我们编写出更加健壮和可...
实际代码的分析可能会包括类的定义、方法的重写、继承链的处理等方面。 总结来说,"Instance of Subclass" 和 "Instance of Superclass" 是面向对象编程中的关键概念,反映了类和对象的层次结构。通过继承,子类...
对象转换涉及到类之间的继承关系,而`instanceof`则用于判断一个对象是否属于某个特定的类或者其子类。 首先,我们要理解父类型与子类型的关系。在Java中,如果类`Student`是类`Person`的子类,那么`Student`继承了...
总的来说,手写 `instanceof` 能帮助开发者更好地理解JavaScript中的原型链和实例关系,这对于进行类型检查和优化代码性能都是十分有益的。同时,自定义的实现也有助于在某些特殊场景下提供更加灵活的解决方案。
多重性描述了关联中一个类的实例与另一个类的实例的数量关系。 - **定义**:描述数量关系。 - **用途**:用于表示关联强度。 - **特点**: - 可以是零到多个。 - 用于控制关联的语义。 ##### Qualifier(限定符...
`su`方法用于调用父类的方法,`get_class`返回当前实例的类,`same_instanceof`和`is_instanceof`检查类之间的关系,`trace`和`out`用于调试输出。 实例化一个浮动层框架的类,可以这样操作: ```javascript var ...
15.1.5 内部类与外部类的预定义对象引用this 327 15.2 局部内部类 328 15.2.1 局部内部类的定义及创建 328 15.2.2 局部变量与局部内部类 329 15.2.3 静态方法中的局部内部类 331 15.3 静态内部类 332 ...
- 类与对象的关系:类是对象的模板,对象是类的具体实例。 - **类与对象的进一步研究** - 类的设计原则:单一职责原则、开闭原则等。 - 对象的创建与使用:new关键字创建对象。 - **封装性** - 封装的目的:隐藏...
创建Rectangle的实例后,它既是一个Rectangle的实例也是一个Shape的实例,这从instanceof的判断结果可以看出。 JavaScript中的对象拷贝主要分为浅拷贝和深拷贝。浅拷贝指的是只复制对象的第一层属性值,如果属性值...
它通过创建一个新作用域,并在其中创建对象,返回的对象与原始构造函数之间没有任何关系。 总结来说,选择哪种构造模式取决于具体需求。工厂模式适用于创建大量相似但无特定类型标识的对象,构造函数模式适合创建有...
类与对象的关系是Java编程中的核心概念,从对象的创建到类的设计原则,以及如何正确使用类与对象的实例化过程,都是面试中的常见话题。掌握好类与对象的定义、使用和区别,能够表现出求职者扎实的编程基础。 在Java...
使用`instanceof`操作符来检查`student`实例是否继承自`Person`或`Student`类。 ```javascript alert(student instanceof Person); // true alert(student instanceof Student); // true ``` ### 总结 在本文中,...
9.5使用关键字instanceof判断所属类292 9.6利用反射获取运行时类信息293 9.6.1使用isInstance()方法判断所属类294 9.6.2获取成员方法信息295 9.6.3获取构造方法信息296 9.6.4获取类的成员属性297 9.6.5根据...
5.6.2 实例类型的判断方法instanceof 78 5.6.3 对象的克隆 78 5.7 一些设计观念 80 5.7.1 策略模式(Strategy Pattern) 81 5.7.2 单例模式(Singleton Pattern) 81 5.7.3 工厂模式(Factory Pattern) 83 5.8 接口...
- `instanceof` 用于判断一个对象是否是特定类或其子类的实例。 8. **接口与实现**: - 在实际项目中,可能会定义接口(如 `Runnable` 或自定义接口),并让类去实现这些接口,以定义行为规范。 9. **多态**: ...
这种模式的核心思想是“部分-整体”的关系,使得客户端代码能够一致地处理简单对象和复杂对象。 组合模式的定义包括两个关键点: 1. **树形结构**:组合模式中的对象构成了一种树形结构,每个对象既可以是叶子节点...