• 10.Object类-包装类-内部类


    1. Object类
    1. Object类 是所有类的父类,所有的类直接或间接继承Object类

    2. Object类 中的equals方法

      1. equals重新前 == equals比较基本数据类型数值,引用数据类型地址值x`
      2. equals重写后 equals比较的是基本数据类型数值,引用数据类型内容值;== 比较的是基本数据类型数值,引用数据类型地址值

    当两个对象的所有属性都相同时,在真实开发中认为二者为同一对象,我们需要重写该类的equals(),hashcode()

    1. Object类中的常用方法

         1. clone()     // 创建一个对象副本
         2. toString()  // 输出全类名@哈希值
         3. equals()    // 比较基本数据类型数值,引用数据类型地址值
         4. hashCode()  // 输出一个int类型的哈希值  一般重写equals时会同时重写hashCode
      
    2. 内部类
    1. 成员内部类

      1. 类体

        成员变量,成员方法,final变量,常量

      2. 可以访问外部类内容

        成员变量,成员方法,静态变量,静态方法,final变量,常量

      3. 声明语法

        外部类名.内部类名 对象名 = 外部类对象.new 内部类名();
        
      4. 调用

        // 当内部类中有和外部类同名的属性时
        // 通过下面方法调用外部类属性
        外部类名.this.成员变量名;
        
    2. 静态内部类

      1. 类体

        成员变量,成员方法,final变量,常量,静态变量,静态方法

      2. 可以访问外部类内容

        静态变量,静态方法,常量

      3. 声明语法

        外部类名.内部类名 对象名 = new 外部类名.内部类名();
        
    3. 局部内部类

      定义在方法中的内部类,仅在方法中使用

      1. 类体

        不能包含静态

      2. 可以访问外部类内容

        该局部内部类定义在成员方法中时,可以访问外部类所有变量和方法

        该局部内部类定义在静态方法中时,可以访问外部类静态变量和方法

      3. 局部内部类访问外部方法中的局部变量

        JDK8之前,此局部变量必须声明为final

        JDK8之后,自动转化为final而且final可以省略不写

    4. 匿名内部类

      只能创建一次对象,内部类补习继承或实现某个类或接口,内部类中必须重写父类或接口中的方法

      语法

      // 继承
      父类名 引用名 = new 父类名(参数){子类类体};
      // 实现
      接口名 引用名 = new 接口名(){实现类的类体};
      
    5. Lambda表达式

      JDK8新特性 匿名内部类实现接口,此接口仅有一个抽象方法时使用

    3. 包装类
    基本类型 对应包装类
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

    基本类型与其对应的包装类之间可以无缝自由互相转换,但是不可以在基本类型转换的同时进行装箱或拆箱

    8种包装类中都重写了toString方法,输出的是String类型的字面值

    包装类中有一个常量池,优先从常量池中获取值,如果没有则创建新对象

  • 相关阅读:
    使用SQL Server Management Studio 创建数据库备份作业
    ClickOnce 获取客户端发布版本号
    在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求
    找不到方法:“Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)
    常用操作类
    数据库命名规范
    expression动态构成
    C# 获得当前方法 和 方法调用链 的 方法
    EF架构封装类
    基于微软企业库的分层代码框架
  • 原文地址:https://www.cnblogs.com/forelim/p/14713367.html
Copyright © 2020-2023  润新知