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
*/

目录
相关文章
|
7天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
1月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
105 1
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
135 4
|
2月前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
36 3
|
2月前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
57 2
|
2月前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
41 2
|
2月前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
48 1
|
2月前
|
Java 测试技术 编译器
Java零基础-继承详解!
【10月更文挑战第4天】Java零基础教学篇,手把手实践教学!
50 2
|
2月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
33 5
|
2月前
|
Java
java继承和多态详解
java继承和多态详解
54 5