Java高级学习-Object + API
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java高级学习-Object + API,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4896字,纯文字阅读大概需要7分钟。
内容图文
Object
java.lang.object 类是根类,超类。所有对象都实现这个类方法。
toString()
public String toString() : 返回对象类型+ @ + 内存地址值
@override public String toString() { return xx}
直接打印对象的名字。其实就是调用对象的toString,打印堆内存的地址。
**需要进行覆盖重写。直接快捷键生成。**System.out.print(对象名)判断是否重写。
equals
指示其他对象是否与此对象"相等"。
基本数据类型:比较值 引用数据类型:比较地址
Object obj : 可以传递任意的对象
重写equals方法,比较两个对象的属性。
问题:隐含着多态 { 父类指向子类 } ,多态的弊端无法使用子类的特有的内容(属性和方法)
解决:使用向下转型,将obj类型,转换为子类,再使用子类的属性,比较内容(值)
@override
public boolean equals ( Object obj ) {
//比较传递的obj参数是不是this本身,返回true
//判断传递的参数是否为null,返回false,
//提高程序效率
//防止ClassCastException 类型转换异常
if (obj instanceof 子类名) {
子类名 对象名 = (子类名) obj ;
boolean b = this.name.equals (对象名.name ) ;
return b;
}
return false;
}
快捷键 alt + ins ---- equals()and hashCode()
Object类的equals 方法:对两个对象进行比较,防止空指针异常
Object.equals (null,x1); //返回false
日期时间类
Date类
java.util.Date 类表示特定时间,到毫秒 1000毫秒 = 1 秒 s/1000/60/60/24 = 天
System.currentTimeMillis() // 获取当前系统时间从1970年1.1日 八点 经历了多少毫秒。
构造方法:
无参:Date date = new Date(); //date 为获取的当前系统日期和时间
带参:Date date = new Date( 0 L);//date 为:1970年1.1日 08:00:00,参数为毫秒。
long getTime() 日期转毫秒值,相当于 System.currentTimeMillis()
long t = data.getTime();// t为毫秒值
DateFormat类
格式化 日期–文本,解析 文本–日期
java.text.DateFormat 抽象类,不能直接创建对象。
成员方法:
String format(Date date) // 按照指定格式,把Date日期转化为符合格式的字符串(文本)
Date parse (String source) // 按照指定格式,把字符串转化为Date日期
SimpleDateFormat
使用DateFormat 的子类进行创建对象:SimpleDateFormat
构造方法:
SimpleDateFormat (String pattern) // 用给定模式和默认语言环境进行构造
y 年 M 月 d 日 H 时 m 分 s 秒
例如:yyyy年MM月dd日 HH 时 mm 分 ss 秒
SimpleDateFormat sdf = new SimpleDateFormat (“yyyy年MM月dd日 HH 时 mm 分 ss 秒”);
sdf.format(date);
parse 把字符串格式的日期,解析为Date格式的日期
parse 声明了一个parseExcption 解析异常{ 字符串和构造方法的模式不一致} ,需要 throws 继续抛出异常,或者try,catch自己处理。
Date date = sdf.parse(" xx ");
Calendar
java.util.Calendar是日历类,抽象类
提供了YEAR,MONTH,DAY_OF_MONTH(天),DAY_OF_WEEK (星期几), HOUR
Calendar.getInstance()静态方法返回一个Calendar子类对象,使用的是多态,父类抽象类接收子类对象。
成员方法:
get(Calendar.YEAR)
set(Calendar.YEAR,1999),set(9999,12,30)—重载
add(Calendar.YEAR,-2)
Date date = x.getTime()日历变日期
System
System.currentTimeMillis() // 获取当前系统时间从1970年1.1日 八点 经历了多少毫秒。测试程序耗时。
arraycopy 数组复制
System.arraycopy (源数组,起始位置索引,目标数组,起始位置索引,元素数量)
StringBulider
字符串缓冲区,支持可变的字符串,在内存中是一个数组,效率高
byte[ ] value = new byte[16];
成员方法:
append():添加任意类型的字符形式,并返回当前对象自身(this),地址相同。
链式编程,方法返回是一个对象,可以继续调用方法。
append().append().append()
toString():将StringBulider–>String
StringBulider(String str):将String–>StringBulider
包装类
将基本类型的数据用类装起来,在类中定义一些方法,这个类是包装类,使用类中的方法进行使用基本类型。包装类可以设置为null
int – Integer , char – Character
装箱与拆箱
装箱:把基本类型的数据,包装到包装类中(基本类型 --> 包装类)
构造方法:
Integer(int value),Integer(String s),例如:new Integer(“100”)
构造新分配的 Integer 对象
静态方法:
static Integer valueOf(int value),static Integer valueOf(String s)
返回指定 int 的 Integer 实例,返回指定 String 的 Integer 实例,
Integer in = Integer.valueOf(1);
Integer in = Integer.valueOf("a"); //出现数组格式化异常 NumberFormatException
拆箱:从包装类取出基本类型(包装类 --> 基本类型)
int intValue();以 int 类型返回 Integer 值。
自动装箱与拆箱
基本类型的数据与包装类可以自动的相互转换
自动装箱:直接把int类型的整数赋值包装类
Integer in = 1;
自动拆箱:包装类无法直接参与运算,自动转换为基本数据类型进行计算
in + 2 == in.invalue() + 2;
基本类型与字符串类型的转换
基本类型 --> 字符串:
1.基本类型 + " "
2.包装类的静态方法Integer. toString(参数)。不是Object的toString(),是重载
3.String类的静态方法String. valueOf ( int i ),返回 int 参数的字符串表示形式
字符串 --> 基本类型:
使用包装类的静态方法parseXXX(“数组类型的字符串”):
int parseInt(String s) ;double parseDouble(String s)
int i = Integer.parseInt ( s ) ;
作业
简述String类中的equals方法与Object类中的equals方法的不同点
Object是判断同一个对象是否一样,比较内存地址空间,String是判断对象内容是否相同。
简述StringBuilder类与String类的区别
StringBuilder字符缓冲区,字符可以进行添加,是一个容器,内部拥有数组来存储字符串内容,可以直接进行再数组添加东西。String对象内容不能进行改变,每一次拼接时是创建一个新的对象。
内容总结
以上是互联网集市为您收集整理的Java高级学习-Object + API全部内容,希望文章能够帮你解决Java高级学习-Object + API所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。