1.objec类、常用api
自顶向下的学习原则
Object类
最高父类名:Java.lang.Object
toString
java.lang.Object是所有类的最高父类,其中有什么方法,所有的子类全都具有(包括数组)。
备注:直接打印对象名称,得到的是一个“地址哈希值”。
Object类当中定义了一个toString方法:
public String toString():没有参数,可以将当前对象转换成为字符串的形式。
println方法在打印的时候,将会自动调用参数对象的toString方法。
例如看房子:
地址:北京市海淀区海淀南路1024号3号楼401
内容:几室几厅、面积多少……
如果没有覆盖重写toString方法,将会使用Object当中的toString。
默认的做法就是:“类型信息[email protected]+地址哈希值”。
我们不喜欢看这个地址值,我们希望toString可以把对象的内容展示出来。
那么就需要子类覆盖重写toString方法。
小结:
1. 所有对象都能继承一个toString方法,将自身转换成为字符串形式。
2. 如果没有覆盖重写toString,那么使用Object当中默认的toString,也就是拼接地址值。
3. 如果希望体现成员变量内容,那么Alt + Insert生成toString方法即可。
4. 如果覆盖重写了,那么new的是子类,就优先用子类的toString方法。
注意事项,万分强调:【这不是Arrays.toString方法!!!】
java.lang.Object类当中的方法: public String toString()
用法: 对象名.toString()
java.util.Arrays类当中的方法: public static String toString(数组)
用法: Arrays.toString(数组)
equals
如下所示:
注意:如果希望进行两个引用类型对象的比较,非常推荐使用Objects.equals方法(两个参数)。这个方法可以极大地避免NullPointerException.
日期时间类
Date
这是一个抽象类,不能像Date一样直接new对象,常用的子类是:【java.text.SimpleDateFormat】
如果Date类当中的默认toString方法格式不喜欢,可以使用这个子类来自己指定格式。
SimpleDateFormat构造方法:
public SimpleDateFormat(String pattern):参数就是我们希望使用的格式。
参数字符串代表格式,只要记住一套即可:(严格区分大小写)
yyyy-MM-dd HH:mm:ss.SSS
以下是对活了多少天进行的计算案例:
Date 对象很单纯,只是一个毫秒数。
下图是关于获取当前时间秒数的又一方法:System.currentTimeMillis();
Calender
不能new!
Ctrl+n 快捷键
StringBuilder
下图是对builder运用的扩展:
包装类
arrayCopy
String反转
- to CharArray:数组元素反转做法;
- 字符串的倒叙拼接;
- 使用StringBuilder当中的reverse方法。效果如下:
运用这个reverse的时候不能直接赋值,需要tostring();
补充:
1.网页当中输入的一切往后传送的都是字符串
2.为什么把 “”+基本类型 “”写在最前面?
因为把“”写前面是因为告诉计算机我这是字符串操作,如果:int+int+“”这样运算的话,int两个基本数据类型先运算完后,计算机才知道这个运算时字符串拼接操作,但是返回的结果就会是:int和 与字符串的拼接。
3.String += 有什么不一样的?后面是一个StringBuilder
每一个+=就有一个Stringbuilder;
4..以下的数据计算的操作,知识为了预防万一:
Int +int =应该返回long
Long+long=应该返回double
然后有一个double+double= BigDecimal;
5.Main方法中的String[] args是做什么用的?
其中main(String [] args)的args参数作用:并不是所有的程序直接到生产环境,而是需要部署的,先部署到测试环境中,成功后到生产环境之中。而这个参数是控制测试和生产环境的选择。
6.在Java后台出现的只要是native关键字:那就是说明底层是用别的语言写的。