//手机 请 上下左右 滑动屏幕 观看更全 !
//package Main;
/**
*
* @Explain(说明):
* Object是所有类的默认超类,并且提供有可以覆写的toString和equals方法,
* 可以接收所有类的对象和数组进行相应的处理,
* @time(时间):2019/04/22
* @role(谁):东方神祇(杨)
*
* @modify(修改)
* @time:
* @role:
*/
public class ObjectDemo {
public static void main(String args[]){
Object obj = new objectClass1() ; //向上转型
Object obj1 = new int [] {1,2,3} ; //向上转型
int dataArray [] = (int [])obj1 ; //向下转型
if(obj1 instanceof int [])
//instanceof一个二元操作符和Java的保留关键字。
// 它的作用是测试它左边的对象是否是它右边的类的实例,
// 返回 boolean 的数据类型。
// 说白啦就是用于比较后者是否为前者的实例化类型对象。
for(int tmp:dataArray)
System.out.print(tmp) ;
toStringClass tostr = new toStringClass("杨木发好帅!",21) ;
System.out.println(tostr) ;//因为toString被覆写改动所以直接输出对象时不再是对象的地址。
equalsClass eqc = new equalsClass("杨",21) ;
equalsClass eqc1 = new equalsClass("杨",18) ;
equalsClass eqc2 = new equalsClass("杨",18) ;
System.out.println(eqc.equals(eqc1));
System.out.println(eqc.equals(null));
System.out.println(eqc.equals("mufahaoshuai!"));
System.out.println(eqc1.equals(eqc2));
}
}
class objectClass1{
public objectClass1(){
System.out.println("objectClass嘞构造");
}
}
class objectClass2{
public objectClass2(){
System.out.println("objectClass2嘞构造");
}
}
//toString是Object的方法,有因为所有类皆为Object的子类所以可对其覆写。
//在我们直接输出对象的时候默认下就是调用toString方法,其输出的是一个地址
//如果对这个方法加以覆写改进,即,可以取代info方法,
class toStringClass{
private String name ;
private int age ;
public toStringClass(String name,int age){
this.name = name ;
this.age = age ;
}
@Override
public String toString(){
// 覆写toString
return "姓名:"+this.name+"、年龄:"+age ;
}
}
class equalsClass{
//Object中的equals比较的是对象的地址,
//(String中的equals比较的是内容(区分大小写)但因也是覆写Object类中的equals方法,
// 才会得到此比较内容的功能),现在我们希望在调用equals对对象与对象的比较中
// 不进行默认的地址比较而是进行内容比较,此时我们就得覆写Object的equals方法。
private String name ;
private int age ;
public equalsClass(String name,int age){
this.name=name ;
this.age=age ;
}
//覆写Object的equals方法。
public boolean equals(Object obj/*表示可以接收任何类*/){
if(this==obj)
return true ;
if(obj==null)
return false ;
if(!(obj instanceof equalsClass))
return false ;
equalsClass ec =(equalsClass) obj ; //把传入的Object类型的向下转型成equals类型的类以获取取equals类的name和age属性
return this.name.equals(ec.name)&&this.age==ec.age ;
}
}
/* ------------------- 反爬声明o(*▽*)咻咻咻 --------------------
作者: 杨木发
版权声明:
本文为博主倾情原创文章,整篇转载请附上源文链接!
如果觉得本文对你有所收获,你的请评论点赞 与
合理优质的转发也将是鼓励支持我继续创作的动力,
更多精彩可百度搜索 杨木发 或:
个人网站: www.yangmufa.com ,
开源中国: https://my.oschina.net/yangmufa ,
Gitee: https://gitee.com/yangmufa ,
GitHub: https://github.com/yangmufa 。
坚持创作 善于总结 开源共享 高质进步。
------------------- 反爬声明o(*▽*)咻咻咻 -------------------- */