Java学习总结(16.07.08)Object类的几个常用方法
来源:互联网 发布:关于网络交友的漫画 编辑:程序博客网 时间:2024/05/22 04:48
object是java里所有类的父类,下面说一下Object类的3个常用方法:toString方法,getClass方法,equals方法。
toString方法:
toString方法没有形参,返回值是一个字符串,内容是对象的信息
public class Main {public static void main(String[] args) {Object object=new Object();System.out.println(object.toString());}}
输出结果:java.lang.Object@15db9742
toString方法返回的字符串是类名@肩上一个十六进制整数
Object类自带的toString方法并没有什么大作用,但是toString方法可以被子类重写,用于输出子类的信息例:
public class Cat {public int age=0;private String name;public Cat(String name,int age) {// TODO Auto-generated constructor stubthis.name=name;this.age=age;}@Overridepublic String toString() {// TODO Auto-generated method stub//return super.toString();return "小猫"+this.name+"今年"+this.age+"岁";}}
public class Main {public static void main(String[] args) {Object object=new Object();System.out.println(object.toString());Cat cat=new Cat("Tom", 3); System.out.println(cat.toString()); }}
输出结果:java.lang.Object@15db9742小猫Tom今年3岁
getClass方法
getClass是一个不可继承的方法,没有形参,它返回一个字符串,字符串内容是该类(子类)的信息equals方法
说道equals方法,就不得不提双等号==,两者都是用于比较数据并返回布尔值
Object类的equals方法和==的区别:
==比较的是比较对象的地址,通常基本数据类型的比较使用==
equals标的是比较对象的内容(储存空间里的内容),通常引用数据类型的比较使用equals方法
例:
public class Main {public static void main(String[] args) {Integer i1=10;Integer i2=10;Integer i3=new Integer(10);//创建了一个新的对象,引用所指的地址不一样System.out.println(i1.equals(i2));System.out.println(i1.equals(i3));System.out.println(i1==i2);System.out.println(i1==i3);}}
输出结果:truetruetruefalse
例:
public class Point {private float x=0,y=0;public Point(Float x) {// TODO Auto-generated constructor stubthis.x=x;}public Point(float x,float y) {// TODO Auto-generated constructor stubthis.x=x;this.y=y;}@Overridepublic boolean equals(Object obj) {// TODO Auto-generated method stub//return super.equals(obj);if(this.x==((Point)obj).x||this.y==((Point)obj).y)return true;elsereturn false;}public static void main(String[] args) {Point p1=new Point(10.0f,15.0f);Point p2=new Point(10.0f,15.0f);System.out.println(p1.equals(p2));System.out.println(p1==p2);}}
输出结果:truefalse这里在Point中重写了equals方法,若两点的坐标相同,则返回true,否则返回false
若equals没有重写,上面的程序输出结果是两个false,我猜测这是因为两个Point的对象的this指针不相同所导致。
0 0
- Java学习总结(16.07.08)Object类的几个常用方法
- java学习之Object类常用方法
- Java学习--Object类中的几个方法
- Object类的几个方法
- java Object类中常用的方法
- Java中Object类的常用方法
- java Object类的常用方法
- 黑马程序员——java-几个常用的类(Object,Scanner,String,StringBuffer/StringBuilder)
- Java类的共同父类Object之常用方法总结
- 几个java常用的方法
- java.lang.object类中的几个方法(1)
- JAVA中Object类中的几个方法
- java学习总结(16.07.14)String类及其的常用方法
- 关于Object类的几个方法
- c++几个常用容器的方法总结
- Object类的常用方法
- [JAVA · 初级]:9.Object类提供的常用方法
- Java基础——Object类的三个常用方法
- pc站常用css默认样式(仅供参考)
- 如何快速在当前文件夹中打开cmd或者以管理员身份打开cmd
- ALE&IDoc& EDI(8)--Serialization
- 版本更新 但是不能判断版本
- nginx高并发优化——轻松应对1万并发
- Java学习总结(16.07.08)Object类的几个常用方法
- Falling Ants
- ALE&IDoc& EDI(9)--others
- atoi()
- 前端基础四 表格
- Win10默认开启数字小键盘的方法
- noip2013day2T3华容道
- c风格的字符串
- C语言atoi()函数:将字符串转换成int(整数)