2021-11-11

Java的数据类型

2021-11-11

2021-11-11
1.在基本数据类型中,除了boolean类型所占长度与平台有关外,其他数据类型长度都是与平台无关的。比如:int永远占4个字节(1 Byte=8 bit)

2.基本数据类型的默认值仅在作为类中属性时生效

在方法内部必须先对基本数据类型变量赋值后才能使用,否则编译不通过。

引用数据类型:

引用类型指向一个对象,不是原始值,指向对象的变量是引用变量

在java里面除去基本数据类型的其他类型都是引用类型,自己定义的class类都是引用类型,可以像基本类型一样使用。

引用类型常见的有:String、StringBuffer、ArrayList、HashSet、HashMap等。

equals()方法equal()

equals()方法的默认行为是比较引用,如果是自己写的类,应该重写equals()方法来比较对象的内容,大多数java类库都实现了比较对象内容的equals()方法。

tostring()方法的覆写

toString():取得对象信息,返回该对象的字符串表示

我们先看一个简单的例子:
2021-11-11
输出:iqqcode.algorithm.bintree.Person@1ee12a7
在使用对象直接输出的时候,默认输出的是一个对象在堆内存上的地址值;如若要输出该对象的内容,则要覆写toString()方法

覆写Person中的toString()方法
2021-11-11
名字为:Mr.Q 年龄为:20
toString( )的核心目的在于取得对象信息

String作为信息输出的重要数据类型,在Java中所有的数据类型只要遇见String就执行了**+**,都要求其变为字符串后连接,而所有对象想要变为字符串就默认用toString( )方法

例如:

System.out.println("hello" + 123);

>>> 输出:hello 123

为什么hello 和 123 (一个是字符串,一个是int类型的数据) 就可以直接拼接在一起呢?

因为字符串是爸爸,在这个拼爹的时代,他有一个万能的爸爸Object

换而言之,Object是所有类的父类,任意类都是继承Object类的。而Object中定义了 toString()方法,所以任意类中都包含了toString()方法,对象在实例化之后都可以调用。

所以任意对象转字符串的输出,是通过覆写 toString()方法实现的…

每一个类中都包含有toString(),但是并不是每一个类都覆写了toString()
2021-11-11
2021-11-11
在源码中,可以发现通过反射,获取到了当前对象的全限定类名和@十六进制哈希值字符串。这就是不覆写toString()时直接打印输出的内容。

上一篇:Java System.arrayCopy


下一篇:System类的常用方法(currentTimeMillis与arraycopy)