ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-05-16

2021-05-16 21:32:33  阅读:120  来源: 互联网

标签:部类 Object 内部 05 对象 16 2021 类型 方法


内部类

概念:在一个类的内部再定义一个完整的类

好处

  1. 完善了Java多继承机制,由于每一个内部类都可以独立的继承接口或类,所以无论外部类是否继承或实现了某个类或接口,对于内部类没有影响。
  2. 方便写事件驱动程序。

特点

  • 编译之后可生成独立的字节码文件
  • 内部类可直接访问外部类的私有成员,而不破坏封装
  • 可为外部类提供必要德内部功能组件

成员内部类

  • 在类的内部定义,与实例变量,实例方法同级别的类。
  • 外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。
//.创建外部类对象
Outer outer = new Outer();
//.创建内部类对象
Inner inner = outer.new Inter();
  • 当外部类,内部类存在重名属性时,会有限访问内部类属性。
  • 成员内部类不能定义静态成员

静态内部类

  • 不依赖外部类对象,可直接创建或通过类名访问,可声明静态成员

局部内部类

  • 定义在外部类的方法中,作用范围和创建对象范围仅限于当前方法
  • 局部内部类访问外部类当前方法中的局部变量时,因无法保障变量的声明周期与自身相同,变量必须修饰为final。
  • 限制类的适用范围

匿名内部类

  • 没有类名的局部内部类(一切特征都与局部内部类相同)

  • 必须继承一个父类或者实现一个借口

  • 定义类,实现类,创建对象的语法合并,只能创建一个该类的对象

  • 优点:减少代码量

  • 缺点:可读性较差

Object类

  • 超类,基类,所有类的直接或间接父类,位于继承树的最顶层
  • 任何类,如没有书写extends现实继承某个类,都米人直接继承Object类,都在为间接继承
  • Object类中所定义的方法,是所有对象都具备的方法
  • Object类型可以存储任何对象
    • 作为参数,可接受任何对象
    • 作为返回值,可返回任何对象

getClass()方法

  • public final Class<?> getClass(){}
  • 返回引用中存储的实际对象类型
  • 应用:通常用于判断两个引用中实际存储对象类型是否一致

hashCode()方法

  • public int hashCode(){}
  • 返回该对象的哈希码值
  • 哈希值根据对象的地址或字符串或数字使用hash算法计算出来的int类型的数值
  • 一般情况下相同对象返回相同的哈希码

toString()方法

  • public String toString(){}

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

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

equals 方法

  • public boolean equals(Objects obj){ }
  • 默认实现为(this==obj),比较两个对象地址是否相同
  • 可进行覆盖,比较两个对象的内容是否相同
System.out.println(s1.equals(s2));

包装类

  • 基本数据类型所对应的引用数据类型。

  • Object可统一所有数据,包装类的默认值是NULL

    包装类对应:

    基本数据类型包装类型
    byteByte
    shortShort
    intInterger
    longLong
    floatFloat
    doubleDouble
    booleanBoolean
    charCharacter

    类型转换与装箱、拆箱

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

装箱:基本类型转换为引用类型的过程

拆箱:引用类型转换为基本类型的过程

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

  • 基本类型转换成字符串:

    1. 使用“+”号

      int i=155;
      String s=i+" 2";
      
    2. 使用Integer中的toString()方法

  • 字符串转换成基本类型

    1. 使用Integer.parseXXX();
    String s="150";
    int n=Integer.parseInt(s);
    

标签:部类,Object,内部,05,对象,16,2021,类型,方法
来源: https://blog.csdn.net/qq_56393773/article/details/116903366

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有