【面向对象(高级)】_Object类笔记
来源:互联网 发布:php if判断语句 编辑:程序博客网 时间:2024/05/19 00:55
【面向对象(高级)】_Object类笔记
分类: Java
【面向对象(高级)】_Object类笔记
掌握Object类的作用
掌握Object类中toString(),equals()方法的作用
掌握Object接受引用数据类型的操作
在java中所有类都有一个公共的父类就是Object类,一个类只要没有明确的继承一个类,则肯定是Object类的子类,如下面两行代码表示含义都是一样的:
class Person extends Ojbect{}
class Person{}
Object类中的主要方法:
方法名称 类型 描述
public Object 构造 构造方法
public boolean equals(Object obj) 普通 对象比较
public int hashCode() 普通 取得Hash码
public String toString() 普通 对象打印时调用
实例一:
实例二:
打印对象信息
equals()方法
equals()方法的主要功能是进行对象的比较操作。
String本身也是Object类的子类,所以已经覆写了此方法。
对象比较步骤:
1.是否直接相等this==obj;
2.是否是父类的实例使用instanceof判断。
3.先向下转型然后通过对象字段进行验证。
数组实际上也可以使用Object进行接收
总结:
1.Object类是所有类的父类,只要是引用数据类型都可以使用Object进行接收
2.对象在进行向下转型之前一定要先发生向上转型,要使用instanceof关键字判断
3.toString(),对象打印时调用
4.equals():对象比较时调用。
5.String类也是Object的子类。
掌握Object类的作用
掌握Object类中toString(),equals()方法的作用
掌握Object接受引用数据类型的操作
在java中所有类都有一个公共的父类就是Object类,一个类只要没有明确的继承一个类,则肯定是Object类的子类,如下面两行代码表示含义都是一样的:
class Person extends Ojbect{}
class Person{}
Object类中的主要方法:
方法名称 类型 描述
public Object 构造 构造方法
public boolean equals(Object obj) 普通 对象比较
public int hashCode() 普通 取得Hash码
public String toString() 普通 对象打印时调用
实例一:
- class Demo{};
- public class ObjectDemo01{
- public static void main(String args[]){
- Demo d = new Demo();
- System.out.println("不加toString()输出:"+d);
- System.out.println("加上toString()输出:"+d.toString());
- }
- }
实例二:
- class Person{
- private String name;
- private int age;
- public Person(String name,int age){
- this.name = name;
- this.age = age;
- }
- public String toString(){
- return "姓名:"+this.name+",年龄:"+this.age;
- }
- }
- public class ObjectDemo02{
- public static void main(String args[]){
- Person per = new Person("牛人",30);
- System.out.println("对象信息:"+per);
- }
- }
打印对象信息
equals()方法
equals()方法的主要功能是进行对象的比较操作。
String本身也是Object类的子类,所以已经覆写了此方法。
- class Person{
- private String name;
- private int age;
- public Person(String name,int age){
- this.name = name;
- this.age = age;
- }
- public boolean equals(Object obj){
- if(this==obj){
- return true;
- }
- if(!(obj instanceof Person)){//不是person对象
- return false;
- }
- Person per = (Person)obj;
- if(per.name.equals(this.name)&&per.age==this.age){
- return true;
- }else{
- return false;
- }
- }
- public String toString(){
- return "姓名:"+this.name+",年龄:"+this.age;
- }
- }
- public class ObjectDemo03{
- public static void main(String args[]){
- Person per1 = new Person("牛人",30);
- Person per2 = new Person("牛人",30);
- System.out.println(per1.equals(per2));
- }
- }
对象比较步骤:
1.是否直接相等this==obj;
2.是否是父类的实例使用instanceof判断。
3.先向下转型然后通过对象字段进行验证。
数组实际上也可以使用Object进行接收
- public class ObjectDemo05{
- public static void main(String args[]){
- int temp[] = {1,3,5,7,9};
- Object obj = temp;
- print(obj);
- }
- public static void print(Object obj){
- if(obj instanceof int[]){
- int x[] = (int[])obj;
- for(int i=0;i<x.length;i++){
- System.out.println(x[i]);
- }
- }
- }
- }
总结:
1.Object类是所有类的父类,只要是引用数据类型都可以使用Object进行接收
2.对象在进行向下转型之前一定要先发生向上转型,要使用instanceof关键字判断
3.toString(),对象打印时调用
4.equals():对象比较时调用。
5.String类也是Object的子类。
0 0
- 【面向对象(高级)】_Object类笔记
- 【面向对象(高级)】_Object类笔记
- 【面向对象(高级)】_包装类笔记
- 【面向对象(高级)】_包装类笔记
- Java 回顾笔记_Object类
- java高级_工具类 _Object类
- 40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- 常见对象_Object类的equals()方法
- JavaScript高级程序设计笔记之面向对象
- python面向对象-高级编程 笔记
- 【面向对象】高级类特性
- 红皮书c#高级编程(第6版)_第3章_对象和类型_Object类
- java学习之旅40--面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- 常见对象_常见对象_Object类的equals()方法
- Hibernate笔记_object state
- Java面向对象高级--Object类
- Java面向对象高级--包装类
- 包装类概念(面向对象高级)
- LeetCode Convert Sorted List to Binary Search Tree 解题报告
- 面向对象(高级)抽象类与接口的应用
- HDU 4814 Golden Radio Base 数学 模拟 或者乱搞。。。。
- 〖面向对象(高级)〗_实例分析:宠物商店笔记
- 校园招聘总结
- 【面向对象(高级)】_Object类笔记
- C++11的一些特性
- getWindow().setFlags()
- 【代码实现】防止SQL注入解决办法
- 【面向对象(高级)】_包装类笔记
- 【面向对象(高级)】_匿名内部类笔记
- LCIS
- dfs-Rank the Languages
- 【异常的基本概念】_异常的基本概念笔记