Object: 对象/东西
是所有类的始祖,所有的类都直接或者间接的继承了Object类,俗称万物皆对象,为了多态。
常常被重写的方法
- toString();
调用 toString ()时默认返回的是Object类中的this.object:也就是类的全称@地址,没有参考意义的返回,所以常常重写toString()方法,返回具体的数据内容。
@Override //重写
public String toString() { //toString()方法
return "Point{" +
"x=" + x +
", y=" + y +
'}';
}
- equals();
调用equlas()是,在Object中比较的还是==(即比较的还是地址),没有参考的意义,所以常常重写equals()方法,比较具体的属性值。【 注】 java 提供的类都已经重写了equals()了,所以注意的是自己写的类必须自己重写equals()方法。
派生类重写equals() 注意下面三点 :
- 两个对象必须是同一个类型,若类型不同则返回false
- 若参数对象为null,则返回false
- 原则上两个对象要比较对象的属性是否相同
@Override //重写标志
public boolean equals(Object o) { //重写 equals()方法
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Point point = (Point) o;
return x == point.x &&
y == point.y;
}
@Override
public int hashCode () { //重写 hash Cde()
return Objects.hash(x, y);
}
包装类:
java定义了8个包装类,目的是为了解决基本类型不能直接参与面向对象开发的问题,使得基本类型可以通过包装类的实例以对象的方式存在(简单理解: 基本数据类型,使用起来很方便,但是没有对应的方法,来操作这些基本数据类型数据,就定义了一个类,把基本数据类型装起来,在类中定义一些方法,操作这些基本数据类型 )
装箱与拆箱
基本数据类型与对应的包装类对象之间,来回转换的过程称为“装箱”与“拆箱”
- 装箱:从基本数据类型转换为对应的包装类对象。
- 拆箱:从包装类对象转换为对应的基本数据类型。
Integer i = 5; //装箱运行时:Integer i = Integer.valueOf(5);
int ii = i; //拆箱运行时: int ii = i.intValue();
//不过jdk1.5之后 出现了新特性,会自动装箱及拆箱
Integer ins = 1; //会被编译为 Integer ins = new Integer(1);
int iii = ins; //会被编译为: int iii = ins.intValue();
- 字符串 转基本数据类型包装类:
//字符串转基本类型 包装类.parse类型()
String str = "123";
//字符串 123 转为int 型 123
int num = Integer.parseInt(str);
System.out.println(num);
//基本类型转字符串 3种
int i = 100;
String s1 = i+""; //一种 连接空字符
String s2 = Integer.toString(i); //一种 使用toString()方法
String s3 = String.valueOf(i); //一种 使用 String 中的valueOf()方法
学习记录,参考blog. csdn .net/jason13579