• java基础知识复习(2):不建议参考,个人查缺补漏记录,不够完善


    final修饰符:不可改变 不能被继承 必须赋初始值 只能赋一次值
    可以修饰非抽象类 非抽象方法和变量
    String类不能被继承 因为String类有final修饰

    ==和equals
    ==是操作符 equals是方法
    == 对于基本数据类型 比较值是否相等
    对于引用类型 比较所指对象的地址

    equals 对于没有重写equals方法 比较的是引用类型变量指向对象的地址
    如果像String、Date类有重写,比较的是所指向的对象的内容。


    内部类
    内部类的作用优点:
    每个内部类都能独立的继承一个接口的实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。内部类使得多继承的解决方案变得完整,
    方便将存在一定逻辑关系的类组织在一起,又可以对外界隐藏。
    方便编写事件驱动程序
    方便编写线程代码

    成员内部类
    成员方法/成员变量
    可以访问外部类的全部属性
    不可以定义static修饰的属性和方法

    静态内部类
    可以定义静态的 非静态成员。
    不能调用外部的普通方法.

    局部内部类
    不能定义静态的方法属性
    不能使用任何的访问修饰符
    外部类不能访问内部类的任何属性方法。

    匿名内部类 (用来实现接口或者继承类)

    局部内部类和匿名内部类
    局部内部类有自己的类名 定义完成之后需要再用new关键字实例化才可以使用
    匿名内部类定义时直接实例化 可以直接使用
    匿名类是一个表达式 以;结尾

    String类
    每次拼接会产生新的字符串
    split("分割符")

    concat()方法
    concat()产生了新的字符串
    + 利用了StringBuilder的append方法
    String StringBuffer StringBuilder区别
    1)String 不可变 StringBuffer StringBuilder可变
    2)StringBuffer线程安全,有缓冲区
    3)一般,StringBuilder > StringBuffer > String
    String str = "hello"+ "world"的效率就比 StringBuilder st = new StringBuilder().append("hello").append("world")要高。

    对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象

    包装器类型
    为了让基本类型也具有对象的特征 出现了包装器类型
    基本类型变量值存在栈中 包装器类型是将对象放在堆中

    自动装箱 基本类型——》包装器类型
    自动拆箱 包装器类型--> 基本类型
    自动装箱 -128~127之间 不在范围类创建新对象
    Integer int作为方法的参数发生重载时。 自动装箱 拆箱不起作用

  • 相关阅读:
    docker-compose常用命令-详解
    Docker的4种网络模式
    docker-compose常用命令-详解
    windows 10安装nodejs(npm,cnpm),在谷歌浏览器上安装vue开发者工具 vue Devtools
    @Pointcut注解
    leetcode做题总结
    win10右键添加在此处打开powershell
    怎样从 bat 批处理文件调用 PowerShell 脚本
    Android Google Play app signing 最终完美解决方式
    526. Beautiful Arrangement
  • 原文地址:https://www.cnblogs.com/yxj808/p/14954547.html
Copyright © 2020-2023  润新知