Java继承——Object

简介: Java继承——Object

一、Object类

java中,所有类都直接或间接继承自java.lang.Object类,可以说Object是java中所有类的祖先即根类
java中任何类都继承了Object类中的方法,主要有
toStrring()
public String toString() {

// TODO Auto-generated method stub
//return super.toString();                    //默认打印包名+类内存地址
return "person meaage:" + name + address;    //方法重写

}

System.out.println(s.toString());
/*
person meaage:xiaowei甲3214
*/

equals()

public boolean equals(Object arg0) {

// TODO Auto-generated method stub
//return super.equals(arg0);       //默认比较的是地址
Person s = (Person)arg0;            //强转
if(this.address == s.address && this.name == s.name){//比较成员变量
    return true;
}else{
    return false;
}

}

System.out.println(s.equals(s2));
/*
true
*/

hashcode()
clone()
getClass()
finalize()

二、代码演示

class Person{//class 相当于c语言的struct

String name;
String address;

public void printInfo(){
    System.out.println("name=" + name);
}

private void printAddr(){
    System.out.println("address=" + address);
}

public String toString() {
    // TODO Auto-generated method stub
    //return super.toString();                    //默认打印包名+类内存地址
    return "person meaage:" + name + address;    //方法重写
}

public boolean equals(Object arg0) {
    // TODO Auto-generated method stub
    //return super.equals(arg0);       //默认比较的是地址
    Person s = (Person)arg0;            //强转
    if(this.address == s.address && this.name == s.name){//比较成员变量
        return true;
    }else{
        return false;
    }
}

}

public class Test {

public static void main(String[] args) {    
    Person s = new Person();
    s.name = "xiaowei";
    s.address = "甲3214";
    
    Person s2 = new Person();
    s2.name = "xiaowei";
    s2.address = "甲3214";
    
    System.out.println(s.equals(s2));
    System.out.println(s.toString());
}

}

/*
true
person meaage:xiaowei甲3214
*/

目录
相关文章
|
5天前
|
Java
【Java开发指南 | 第二十四篇】Java继承
【Java开发指南 | 第二十四篇】Java继承
9 0
|
5天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
14 4
|
5天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
5天前
|
Java 编译器 开发者
Java一分钟之-继承:复用与扩展类的特性
【5月更文挑战第9天】本文探讨了Java中的继承机制,通过实例展示了如何使用`extends`创建子类继承父类的属性和方法。文章列举了常见问题和易错点,如构造器调用、方法覆盖、访问权限和类型转换,并提供了解决方案。建议深入理解继承原理,谨慎设计类结构,利用抽象类和接口以提高代码复用和扩展性。正确应用继承能构建更清晰、灵活的代码结构,提升面向对象设计能力。
19 0
|
5天前
|
Java
java面向对象——包+继承+多态(一)-2
java面向对象——包+继承+多态(一)
18 3
|
5天前
|
SQL Java 编译器
java面向对象——包+继承+多态(一)-1
java面向对象——包+继承+多态(一)
18 2
|
5天前
|
机器学习/深度学习 Java C++
Java 继承
5月更文挑战第1天
|
5天前
|
Java
Java语言---面向对象的三大特征之继承
Java语言---面向对象的三大特征之继承
|
5天前
|
Java
java类、封装、继承
java类、封装、继承
|
5天前
|
安全 Java 编译器
【JAVA】泛型和Object的区别
【JAVA】泛型和Object的区别