讲师笔记,Java基础学习之路之day13——权限符,Object常用方法,包装类,字符串

针对jdk定义好的类:
    包与包 之间可以使用 的权限访问符 只有两种 : public protected
    
                public protected default  private
    同一个类中         yes     yes        yes    yes
    同一个包中         yes     yes        yes
    不同包的子类     yes     yes
    不同包         yes

有两种情况不用导包:
    1. 同一包下的类   2.java.lang包下的类
    

Object常用方法
    public String toString():
        将一个对象转换为String字符串来表示
        
    Class<?>    getClass() :
                     返回的是真正在代码运行时代表的类。    
                     
    protected  void    finalize() 
                     当垃圾回收器确定不存在对该对象的更多引用(引用计数=0)时
                     由对象的垃圾回收器调用此方法
    
    final finally finalize 三者的区别
    
    public int hashCode()
        将对象的内存地址 根据 哈希散列算法 得到一个 int整数(hash值)
        作用:提高哈希表的性能
        
    hashCode()三点原则:
        1.在程序的一次运行过程中:
            a.hashCode == a.hashCode == a.hashCode
            前提:
                equals方法用的值没有被改变
        2. a.equals(b) == true --->   a.hashCode 一定等于  b.hashCode
        
        3. a.equals(b) != true --->   a.hashCode 可以等于 b.hashCode
            如果
                a.hashCode 等于   b.hashCode  不能提高哈希表的性能
            程序员应该意识到:
                a和b不相等,那么  a.hashCode 和  b.hashCode 应该不相等
    
    public boolean equals(Object obj)
        判断其他某个对象是否与此对象“相等” (内存地址是否相等)。
        
        在没有重写equals方法时,和 ==  作用一样
        
        在equals方法同时,还要重写hashCode方法,这两个方法一定要绑定使用。
    
    
    clone克隆   一个类的对象被复制然后在堆中多产生一个副本
        步骤:
            1.实现Cloneable接口
            2.重写Object类中的clone()方法,并声明为public
            3.在clone方法内,调用super.clone()方法

-----------------------------------------------------

包装类
    包装类包装的是对应的基本数据类型
        基本数据类型        包装类型
            int            Integer
            short        Short
            char        Character
            long        Long
            boolean        Boolean
            double        Double
            byte        Byte
            float        Float
    
    jdk1.5之后   
    自动装箱:编译器自动完成 将基本数据类型  包装 成 对应的 引用类型
        Integer x = 5;
    自动拆箱  :包装类型  拆成 基本数据类型
        Integer y = new Integer(10);
        int a = y;
        
    当重载方法中提供了包装类型的形参 和 基本数据类型的形参 时
    在方法调用时,如果实参是包装类型优先考虑包装类型,
    如果实参是基本数据类型优先考虑基本数据类型
    

包装类作用:
    对 基本数据类型  包装类型  以及 字符串之间的转换
    
    
包装类的其他方法:
    Integer.toBinaryString(int)
        十进制可以转换为二进制
    Integer.toHexString(int)
        十进制转换为十六进制
    Integer.toOctalString(int)
        十进制转换为八进制

------------------------------------------------

!!!String  字符串
    String s = "abc" 是一个String类的对象
    
    String非常常用,所以jdk对其做了优化 允许直接声明值,无需通过new创建对象
    
    class String{private final char value[];}
    String对象一旦被初始化不可改变

常用方法:
    int length()
        返回字符串的长度
    char charAt(int index)
        返回指定位置index出的字符char值
        
    int    indexOf(String str)
        返回指定str在字符串中第一次出现的位置
    int indexOf(String str, int fromIndex) 
        从fromIndex位置开始,获取str字符串在字符串中第一次出现的位置    
    int indexOf(int ch)
        返回指定ch字符 在字符串中第一次出现的位置
    int indexOf(int ch, int fromIndex) 
        从fromIndex位置开始,获取ch字符在字符串中第一次出现的位置
        
    int    lastindexOf(String str)
        返回指定str在字符串中最后一次出现的位置
    
    截取字符串功能:
    String    substring(int beginIndex) 
        从指定索引处的字符开始,直到此字符串末尾。
    String substring(int beginIndex,int endIndex)
        该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。
    
    所有对字符串的操作 生成的是新字符串 原字符串的内容是无法修改的
    
---------------------------------------------------
    
    String str = " dhasdhdasHDUISHDFUAasdhasuHSDAS   ";
    1. 求字符串的长度
    2. 求A在字符串中第一次出现的位置
    3. 求a在字符串中最后一次出现的位置
    4. 取出 dasHD 字符串
    5. 取出字符串中 第5个位置的字符 
    
    6. 将字符串中所有的 a 变成 X
    7. 将字符串中所有的字母 全部变成 大写字母
    8. 将字符串中所有的字母 全部变成 小写字母
    9. 去掉首尾的空格
    10.将字符串 变成一个String[] 要求按照H分割
    11. 去掉首尾空格后 将小写字母变成 大写字母 ,大写变成小写  ,每四位加-

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417103