栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java零基础(9)Object类、包装类、String类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java零基础(9)Object类、包装类、String类

一、Object类(java.lang.Object)
        1. 特点
            1.1 超类、基类、根类,所有类直接或者间接父类
            1.2 任何类,如果没有写 extends 显示继承的类,都默认继承Object类
            1.3 Object类型的引用能指向任何对象 (多态 父类引用指向子类对象 Object o = new Student();)
            1.4 Object类中定义的方法,是所有类都具有的方法
        2. 方法
            2.1 finalize() 
                    由垃圾回收器在回收垃圾时,调用方法释放内存空间
                    1) 垃圾对象:没有任何引用指向此对象,为垃圾对象
                        new A();  //垃圾对象
                        A a=new A();
                        a=null;  // new A(); 没有引用指向它,变成垃圾对象
                    2)    垃圾回收机制
                        a. 自动回收机制
                            JVM内存耗尽时,不能再为新对象分配空间时,一次性回收所有垃圾对象
                        b. 手动回收机制
                            使用System.gc();  通知JVM执行垃圾回收
            2.2 getClass()
                    返回对象的实际类型
                    如:Animal a=new Dog();
                        Animal a1=new Cat();
                        Dog d=new Dog();
                        System.out.println(a.getClass());  //Dog
                        System.out.println(a1.getClass()); //Cat
                        System.out.println(a.getClass()==d.getClass());  //true 
            2.3 toString()
                    返回对象的String类型形式,打印一个对象引用就是打印这个对象的 toString 方法的返回值
                    一般子类覆盖toString方法返回对象的字符串形式,调用的话以子类toString方法优先
                    public String toString(){
                        return "熊猫名字叫做:"+name+"  年龄:"+age; //信息表达式  属性跟字符串的拼接组成的
                    }
            2.4 equals()
                    1)判断两个对象内容是否相同
                    String s1 = new String("abc");
                    String s2 = new String("abc");
                    System.out.println(s1 == s2); //判断地址是否相同
                    boolean b=s1.equals(s2);  //判断内容是否相同
                    System.out.println(b);
                    2)重写equals方法
                    public boolean equals(Object o){  //Object o=new Student("小黑");
                        if(this == o)return true; //判断当前对象和传递进来的参数地址是否相同
                        if(o == null)return false;  //判断o引用是否指向对象的内容
                        if(this.getClass() != o.getClass())return false;  //判断类型是否相同
                        Student s=(Student)o;  //大类型转换成实际类型,需要强转
                        if(this.name.equals(s.name) && this.age==s.age)return true;  //通过属性判断内容是否相同
                        else return false; //属性内容不相同
                    }
二、包装类
        1. 概念:为了让Object类型的引用能够表示基本类型,八种基本数据类型所对应的引用数据类型
                 包装类的默认值是 null
                 对于数值类型的属性,可以区分 0 值和 null 值
        2. 对应:八种基本数据类型对应的包装类
                byte   ----->  Byte
                short  ----->  Short
                int    ----->  Integer
                long   ----->  Long
                float  ----->  Float
                double ----->  Double
                char   ----->  Character
                boolean ---->  Boolean
        3. 类型转换
                3.1 int 类型转换成 Integer类型  Integer i =new Integer(整数); 
                3.2 String类型转换成 int 类型   int a=Integer.parseInt(字符串整数);   
                                            如果传的参数不是字符串类型整数,java.lang.NumberFormatException  数字格式异常
                3.3 String类型转换成 Integer类型 Integer i1=Integer.valueOf(字符串整数); //String类型整数转换成Integer类型
        4. JDK5.0 后基本数据类型和对应包装类型自动转换(int 和 Integer混用)
三、String类(java.util.String)
        1. 概念
             1.1 字符串是常量,创建之后就不能改变
             1.2 字面值存储在常量池中,可以共享
             1.3 优点:字符串常量能够重用,提高了利用率  //串池资源共享
                 缺点:做字符串加法时会产生大量小字符串  //字符串拼接
             1.4 方法:length(); //计算字符串长度的方法
                       toUpperCase();  //字符串小写字符转大写
                       toLowerCase();  //字符串大写转小写
                       split("指定规则");  //将字符串按指定规则拆分成字符串String类型数组
        2. StringBuffer(可变长字符串)(java.util.StringBuffer)
             2.1 用来替换字符串,能够更高效的完成字符串的拼接
                 StringBuffer sb =new StringBuffer("abc");  //可变长的字符串类
                 sb.append("d");
                 sb.append("e");
                 sb.append("f");
                 sb.append("g");
                 System.out.println(sb);
             2.2 操作的还是当前对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号