instanceof这个方法 很简单啦。就是判断左边的 是不是 右边 的 子类 。。
package Connection;class monkey {}class longarmMonkey extends monkey {}class Engineer extends longarmMonkey {}class engineerSon extends Engineer {}public class Instanceof { public static void main(String[] args) { // 我是谁 woIam(new engineerSon()); } private static void woIam(Object obj) { if (obj instanceof Object) { System.out.println('我是 祖宗'); } if (obj instanceof monkey) { System.out.println('我是猴子'); } if (obj instanceof longarmMonkey) { System.out.println('我是长臂猿'); } if (obj instanceof Engineer) { System.out.println('我是程序猿'); } if (obj instanceof engineerSon) { System.out.println('我是mini程序猿'); } }}
所以啊。如果 instanceof 左边的引用 的实例化对象 是右边 类 的子类 那也是返回true的。。
所以 不管你是 第几代玄孙 只要你有 祖先的血统 那么你就是 我的后代
public boolean equals(Object anObject) { // 是为了比较是否是同一个引用,是否都是指向同一个内存中的事例 if (this == anObject) { return true; } // 这里就用到了 instanceof 就是判断 穿进来的数据是不是 String类型的 对象 // 这里注意了 虽然 穿进来的是object类型的 但是只能是 String 类 或者是String类的父类才可以 为true if (anObject instanceof String) { String anotherString = (String)anObject;//向下转型 int n = value.length; if (n == anotherString.value.length) {//判断 长度是否一致 为了加快判断 char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; }//这个判断 的算法很赞啊。。判断两个相同字符串的每一位 是否相同 return true; } } return false;}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。