Object类型:
是所有引用类型的父类,在引用类型的顶端。
它的引用变量可以指向任何类型的一个对象
Object obj = "aaaa";
obj = new int[3];
obj = new Scanner(System.in);
面试题:怎么使用数组存一些类型不同的数据
用Object定义一个数组
Object[] arr = new Object[3];
arr[0] = "aaa";
arr[1] = new int[3];
arr[2] = new Scanner(System.in);
Object类型中的常用方法:
1:toString():
在Object类型中,方法的返回为"类全名@散列码"
在自定义类型时,如果不手写继承Object,系统会默认提供继承Object
toString()方法就会被继承。
继承后的方法返回的字符串没有意义。我们应该重写toString():
用来描述new出来的对象的信息。
重写toString():默认规则如下:
"类全名[属性名=属性值,属性名=属性值]"
toString():当想输出显示对象信息时,会默认调用这个方法
2:equals():
在Object类型中,equals()相当于==,比较的是地址,是不是同一个对象。
在大多数情况下,我们不比较是不是同一个对象,而应该比较
这两个对象的内容是否一样。
自定义的类继承过来的方法就不满足要求了。
应该重写equals()
重写规则:
public boolean equals(Object obj){
}
1:应该判断传进来的参数是不是null
2:判断传进来的参数是不是自己
3:判断传进来的参数是不是本类型
如果是同一类型,再去比较属性。
四)包装类:八大基本数据类型
java语言是面向对象的语言,而八大基本数据类型的值不是对象
当我们想把这些值当成对象时,就需要使用包装类,功能就
是把基本数据类型的数值转换成对象。
byte---java.lang.Byte
short---java.lang.Short
int---java.lang.Integer
long---java.lang.Long
float--java.lang.Float
double---java.lang.Double
char---java.lang.Character
boolean---java.lang.Boolean
常用方法:
Integer.valueOf(int val):
会将int的值转换Integer类型的对象
Double.valueOf(double val):
会将double的值转换Double类型的对象
装箱操作:基本数据类型--->包装类
intValue():
doubleValue();
拆箱操作:将包装类对象转换成相应的基本数据类型
在jdk1.5版本以后,支持自动拆箱和装箱
在做运算时,包装类的对象都会转换成相应的
基本数据类型再计算(自动拆箱)
Integer num = 5;--->Integer num = Integer.valueOf(5)
装箱操作
int a = new Integer("5");---->int a = new Integer(5).intValue();
拆箱操作
reg:
Integer a = 5;//装箱
Integer b = 6; //装箱
Integer c = a+b;//先拆箱,运算结果再装箱
常用方法:
Integer.parseInt(String str)
Double.parseDouble(String str)
作用:将字符串转换成包装类型
int a = Integer.parseInt("12");
int b = Integer.parseInt("abc");这种情况
会出现异常:
NumberFormatException:数字格式化异常---程序运行时发生
五)日期类型
1:java.util.Date:日期类型。
java语言中支持的日期操作,Date,用来计算时间的分量。
但是Date类中的方法大多数已经过时,
被Calendar类型取代
2:Date的使用
3: java.text.SimpleDateFormat:
作用:通常都是用来对日期格式化,或者将字符串转换成日期类型
构造器:
SimpleDateFormat(String pattern):
pattern:用来定义日期格式
y:年
M:月
d:日
H:24小时制的时
h:12小时制的时
m:分
s:秒
E:表示星期
a:表示上下午(am|pm)
常用方法:
String format(Date date):
将日期转换成字符串
Date parse(String str)
将字符串转换日期类型
有可能会出现ParseException:转换异常----编译期间检查的