常用类

常用类

内部类

Object类

  • 超类、基类,所有类的直接或间接父类,位于继承树的最顶层。

  • 任何类,如果没有书写extends显示继承某个类,都默认直接继承Object类,否则为间接继承。

  • Object类中所定义的方法,是所有对象都具备的方法。

  • Object类型可以存储任何对象。

    • 作为参数,可以接受任何对象。

    • 作为返回值,可以返回任何对象。

getClass()方法

  • public final Class<?> getClass(){}

  • 返回引用中存储的实际对象类型。

  • 应用:通常用于判断两个引用中实际存储对象类型是否一致。

hashCode方法

  • public int hashCode(){}

  • 返回该对象的哈希码值。

  • 哈希值根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值。

  • 一般情况下相同对象返回相同的哈希码。

toString()方法

  • public String toString(){}

  • 返回该对象的字符串表示(表现形式)。

  • 可以根据程序需求覆盖该方法。如:展示对象各个属性值。

equals()方法

  • public boolean equals(Object obj){}

  • 默认实现为(this==obj),比较两个对象地址是否相同。

  • 比较的是两个对象的地址。

  • 可进行覆盖,比较两个对象的内容是否相同。进行以下步骤:

    • 比较两个引用是否指向同一个对象。

    • 判断obj是否为null.

    • 判断两个引用指向的实际对象类型是否一致。

    • 强制类型转换。

    • 依次比较各个属性值是否相同。

finalize()方法

  • 当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象,进入回收队列。

  • 垃圾对象:没有有效引用此对象时,为垃圾对象。

  • 垃圾回收:由GC销毁垃圾对象,释放数据存储空间。

  • 自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。

  • 手动回收机制:使用System.gc();通知JVM执行垃圾回收。

包装类

  • 基本数据类型(存放在栈中)所对应的引用数据类型(存放在堆中)。

  • Object类可统一所有数据,包装类的默认值时null.

    基本数据类型 包装类型
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    boolean Boolean
    char Character

类型转换与装箱、拆箱

  • 拆箱:引用类型转换成基本类型。
  • 装修:基本类型转换成引用类型。
package inner;

public class Demo01 {
    public static void main(String[] args) {
        //JDK1.5之前
        //类型转换:装箱 基本类型转换成引用类型
        int num1=10;//基本类型
        //使用Integer类创建对象
        Integer integer1=new Integer(num1);
        Integer integer2=Integer.valueOf(num1);
        System.out.println("装箱");
        System.out.println(integer1);
        System.out.println(integer2);
        //类型转换:拆箱  引用类型转换成基本类型
        Integer integer3=new Integer(100);
        int num2=integer3.intValue();
        System.out.println("拆箱");
        System.out.println(num2);
        //JDK1.5之后,提供自动装箱和拆箱功能
        int age=30;
        //自动装箱
        Integer integer4=age;
        System.out.println("自动装箱");
        System.out.println(integer4);
        //自动拆箱
        int age2=integer4;
        System.out.println("自动拆箱");
        System.out.println(age2);
    }
}

  • 八种包装类提供不同类型间的转换方式:

    • Number父类中提供的6个共性方法。
    • parseXXX()静态方法。
    • valueOf()静态方法。

基本类型和字符串之间发转换

package inner;

public class Demo02 {
    public static void main(String[] args) {
        //基本类型转换成字符串
        int i = 100;
        //1.使用+号
        String s1 = i + "";
        //2.使用Integer中的toString()
        String s2 = Integer.toString(i);
        System.out.println(s1);//100
        System.out.println(s2);//100
        //字符串转换成基本类型
        String str="150";
        //1.使用Integer.parseXXX();
        int n=Integer.parseInt(str);
        System.out.println(n);//150
         //boolean字符串形式转成基本类型,“true”转成true,非true转成false
        String str2="true";
        boolean b=Boolean.parseBoolean(str2);
        System.out.println(b);//true
    }
}

注意:需保证类型兼容,否则抛出NumberException异常。

posted @ 2023-05-25 20:31  努力的小L  阅读(13)  评论(0)    收藏  举报