/**重写自己的equals()
object
所有继承体系的基类
getClass() 返回此object的运行时类
hashCode() 返回给对象的哈希码值
toString() 返回该对象的字符串表示
equals(Object obi) 指示其他某个对象是否与此对象‘相等’。指向同一地址。。
***
重写自己的equals()
两种比较的方法,instanceof 与 getClass
getClass.equals() 判断对象的类与比较的类是否为同一个类
instanceof 判断对象能否转化成对应类的对象
out:true false false true false false
*/
public class Test04{
public static void main(String[] args){
TestA ta1=new TestA("test");
TestA ta2=new TestA("test");
TestA ta3=new TestA("ttst");
TestB tb1=new TestB("test");
TestB tb2=new TestB("test");
TestB tb3=new TestB("ttst");
System.out.println(ta1.equals(ta2));
System.out.println(ta1.equals(ta3));
System.out.println(ta1.equals(tb1));
System.out.println(tb1.equals(tb2));
System.out.println(tb1.equals(tb3));
System.out.println(tb1.equals(ta1));
}
}
class TestA{
private String name;
public TestA(String name){
this.name=name;
}
public boolean equals(Object obj){
if(this==obj)
return true;
if(obj!=null&&obj.getClass()==TestA.class){//getClass.equals() 判断对象的类与比较的类是否为同一个类
TestA t=(TestA)obj;
return name.equals(t.name);//比较的是内容,如果为基本类型的话,可用==
}
return false;
}
}
class TestB{
private String name;
public TestB(String name){
this.name=name;
}
public boolean equals(Object obj){
if(!(obj instanceof TestB))//instanceof 判断对象能否转化成对应类的对象
return false;
TestB t=(TestB)obj;
return name.equals(t.name);
}
}
/**
对instanceof getClass().equals() getClass().isAssignableForm()的比较
instanceof 判断对象能否转化对应类的对象
对象.getClass().equals(类.class) 判断对象的类与比较的类是否为同一个类
对象.getClass().isAssignableForm(类.class) 判断对象的类是不是比较的类或者比较的累的超类、超接口
out:
true false true true
--------------------
true false false true
--------------------
true true false true
*/
public class Test05 {
public static void main(String[] args) {
Object o1 = new A();
Object o2 = new B();
System.out.println(o1 instanceof A);
System.out.println(o1 instanceof B);
System.out.println(o2 instanceof A);
System.out.println(o2 instanceof B);
System.out.println("--------------------");
System.out.println(o1.getClass().equals(A.class));
System.out.println(o1.getClass().equals(B.class));
System.out.println(o2.getClass().equals(A.class));
System.out.println(o2.getClass().equals(B.class));
System.out.println("--------------------");
System.out.println(o1.getClass().isAssignableFrom(A.class));
System.out.println(o1.getClass().isAssignableFrom(B.class));
System.out.println(o2.getClass().isAssignableFrom(A.class));
System.out.println(o2.getClass().isAssignableFrom(B.class));
}
}
class A {}
class B extends A{}
清醒小刻
没错,我说的都是错的!!
咦,你知道吗?
今日 的图片我是用幕布编辑的。与mindmanage相比较,幕布的编辑模式更让人易于接受,而且,幕布有着良好的排版风格,用来做笔记也是一个很不错的选择。
http://mubu.io/inv/30947
而mindmanage的相关连接与破解方式也在下面啦-----
http://pan.baidu.com/s/1bWaUE6
瞎说什么
中等收入陷阱
要跨越中等收入陷阱,主要还是调整国家经济产业结构,去掉产业冗余,合理分配资源,创新开发新的资源与新的产业及技术,打造高精端技术产业,改变现有产业链。