您的位置 首页 java

万类始祖和包装类

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() 注意下面三点

  1. 两个对象必须是同一个类型,若类型不同则返回false
  2. 若参数对象为null,则返回false
  3. 原则上两个对象要比较对象的属性是否相同
 @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

文章来源:智云一二三科技

文章标题:万类始祖和包装类

文章地址:https://www.zhihuclub.com/197677.shtml

关于作者: 智云科技

热门文章

网站地图