首页 > 其他分享 >Object类

Object类

时间:2023-03-15 10:25:10浏览次数:37  
标签:String age Object System Student Integer name

Object

1.getClass()方法

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

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

package com.zhang.oop.Obct;
public class Student {
    private String name;
    private int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}    
package com.zhang.oop.Obct;
public class Applacation {
    public static void main(String[] args) {
        Student s1 = new Student("张三",20);
        Student s2 = new Student("李四",30);
        if(s1.getClass()==s2.getClass())
            System.out.println("s1和s2是同个类型");  //是同个类型的
        System.out.println(s1.getClass());    //输出:class com.zhang.oop.Obct.Student
        System.out.println(s1.hashCode());    //hashCode()
    }
}

2.hashCode()方法

返回内存地址:int(详细见上面的代码)

3.toString()方法

一般的话会重写 快捷键Alt+Insert

public String toString() {    //在最上面那段程序里重写的
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
System.out.println(s1.toString());//com.zhang.oop.Obct.Student@1b6d3586(原来的值)   Student{name='张三', age=20}  (重写了之后的)

4.finalize()方法

重写方法

@Override
    protected void finalize() throws Throwable {
        System.out.println(name+"垃圾被回收");
    }
   new Student("王五",30);
   System.gc();    //王五垃圾被回收

5.装箱和拆箱

int age = 30;
Integer integer = age;  //装箱
int age1 = integer;  //拆箱

包装类对应 八大基本类型 int--->Integer char-->Character 其余开头字母大写

整型转换字符串

int a = 20;
String str = a+""; //第一种方法
String str1 = Integer.toString(a,2);  //第二种方法(2为二进制)

字符串转换整型

String str2 = "342";
int b = Integer.parseInt(str2);

boolean字符串形式转换成基本类型

“true”---->true 非"true"---->false

String str = "true";
boolean b = Boolean.parseBoolean(str);  //true   如果str不时true,b就是false

Integer

  1. Java预先创建256个常用的整数包装类对象(-127---128)
  2. 在实际应用当中,对已创建的对象进行复用,从而减少消耗
package com.zhang.oop.Obct;
public class integ {
    public static void main(String[] args) {
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1==integer2); //false
        Integer integer3 = 100; //自动装箱
        Integer integer4 = 100;
        System.out.println(integer3==integer4);//true
        Integer integer5 = 200; //Integer integer5 = integer.valueOf(200);
        Integer integer6 = 200;   //因为不在-127--128的范围内,所以就会在堆里重新开辟个空间
        System.out.println(integer5==integer6);//false
    }
}

标签:String,age,Object,System,Student,Integer,name
From: https://www.cnblogs.com/rockz/p/17217525.html

相关文章