JavaApi高级编程(一)Object以及equals和==的区别

简介: JavaApi高级编程(一)Object以及equals和==的区别

一、Api概念


1、API(application programming interface

A、应用程序接口

B、函数与类的集合


二、java的数据类型


1、值类型

值类型储存在内存的堆栈(简称为栈),包含八种基本数据类型分别对应八种封装类

例如:int、double、float

2、引用类型

引用类型存放的是引用类型变量的地址,而它本身是存储在堆

例如:数组、String、类、接口


三、equals和==用法的区别


1、==用于比较地址

含义:比较两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即内容是否相同

//如果年龄相同,就返回trues

public boolean equals(Object obj) {
  if(obj instanceof Student) {
    Student stu = (Student)obj;
    if(stu.getAge()==this.age) {
    return true;
    }
  }
  return false;
  }

2、equals用于比较对象存的内容

含义:两个变量是否是对同一个对象的引用,也就是堆中的内容是否相同

//如果两个学生的学号相同,姓名也相同,就返回true

public boolean equals(Object obj) {
  if(obj instanceof Student) {
    Student stu = (Student) obj;
    if(stu.getSid()==this.sid && stu.getName().equals(this.name)) {
    return true;
    }
    }
    return false;
  }


四、object类


含义:基类、超类、根类,任何类直接或间接继承于Object

主要方法:

1、toString()方法

对象在打印的时候一定会调用toString()方法,并且是默认调用,重写toString()方法

public class Person {
  private String name;//姓名
  private String sex;//性别
    public Person(String name,String sex,) {
  this.name = name;
  this.sex = sex;
    }
    public String toString() {
  return "姓名:" + this.name + "; "性别:" + this.sex;
    }
}

2、equals()方法

主要功能是进行对象的比较操作

public class Person {
  private String name;//姓名
  private String sfz;//身份证
  private String sex;//性别
  private String saddress;//地址
  private int age;//年龄
  public Person(String name, String sfz, String sex, String saddress,int age) {
  super();
  this.name = name;
  this.sfz = sfz;
  this.sex = sex;
  this.saddress = saddress;
  this.age = age;
  }
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
  public String getSfz() {
  return sfz;
  }
  public void setSfz(String sfz) {
  this.sfz = sfz;
  }
  public String getSex() {
  return sex;
  }
  public void setSex(String sex) {
  this.sex = sex;
  }
  public String getSaddress() {
  return saddress;
  }
  public void setSaddress(String saddress) {
  this.saddress = saddress;
  }
  public int getAge() {
  return age;
  }
  public void setAge(int age) {
  this.age = age;
  }

 2.1、在类中equals();

public boolean equals(Object obj) {
  if(obj instanceof Person) {
    Person per = (Person)obj;
    if(per.getSfz().equals(this.sfz) && per.getName().equals(this.name)) {
        return true;
    }
  }
  return false;
  }

以上知识就分享到这里,希望对大家有帮助

相关文章
|
JavaScript 前端开发 API
DOM编程:Document Object Model
DOM编程:Document Object Model
|
1月前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
4月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
50 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)
|
4月前
|
JavaScript 前端开发
Object.freeze() 和 const 的区别详解
【8月更文挑战第31天】
38 0
|
5月前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
6月前
|
Java API
API:object当中的各种方法刨析(今日份:equals toString)
API:object当中的各种方法刨析(今日份:equals toString)
|
5月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
139 0
|
7月前
|
JavaScript 前端开发 索引
JavaScript与Object C的区别
JavaScript与Object C的区别
39 1
|
7月前
|
Java
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
【JAVA学习之路 | 基础篇】Object类及重写的equals()与toString()
|
6月前
|
存储 JavaScript 前端开发
Object和Map的区别
Object和Map的区别