1.说明
1.Object类是所Java类的根父类;
2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类。如:
class Person{}
等价于:
class Person extends Object{}
3.由于受继承性的影响,所有的类默认继承Object类,如果没有显示的继承某个类,则默认继承Object类,Object类中的功能(属性、方法)就具有了通用性。
4.Object类只声明了一个空参构造器
2.主要结构
3.==操作符和equals()
==操作符:
> 基本类型比较值:只要两个变量的值相等,即为true。
> 引用类型比较引用(是否指向同一个对象):只有指向同一个对象时,==才返回true。
Person p1 = new Person();
Person p2 = new Person();
if(p1 == p2){}
注意:
用“==”进行比较时,符号两边的数据类型必须兼容(可自动转换的基本数据类型除外),否则编译出错
代码:
public class test { public static void main(String[] args) { //对于基本数据类型 int a = 10; int b = 10; if (a == b) { System.out.println("a = b");//a = b }else{ System.out.println("a != b"); } //对于引用数据类型 Person p1 = new Person(); Person p2 = new Person(); if (p1 == p2){ System.out.println("p1和p2指向同一个地址"); }else{ System.out.println("p1和p2的引用地址不同");//p1和p2的引用地址不同 } } } class Person{ String name; int age; public void eat(){ System.out.println("人吃饭"); } }
equals()方法:
如何重写equals()?
class User{ String name; int age; //重写其equals()方法 public boolean equals(Object obj){ if(obj == this){ return true; } if(obj instanceof User){ User u = (User)obj; return this.age == u.age && this.name.equals(u.name); } return false; } }
注:开发中不会自定义重写equals(),选择自动生成。
4.toString()方法
如何重写tostring()方法?
//自动实现 @Override public String toString() { return "Customer [name=" + name + ", age=" + age + "]"; }
作者:Java之美
日期:2020-03-29
来源:https://www.cnblogs.com/897463196-a/p/12592679.html