> 文章列表 > JAVA笔记

JAVA笔记

JAVA笔记

JAVA笔记

  • int[] a = new int[4];
    • 栈内存:存放局部变量
      • 堆内存中存放的数组地址会赋值给这个变量
    • 堆内存:new出来的内容
  • 方法重载只看同一个类、方法名和参数不同
  • 方法的参数传递
    • 基本类型(栈内存):形参不传递,不改变值
    • 引用类型(堆内存):形参传递,改变值
  • 成员变量和局部变量
    • 成员变量在类中方法外,局部在方法内,形参也算
    • 成员变量在堆内存,局部变量在栈内存?
    • 成员变量跟随对象的生命周期,局部变量跟随方法的调用
    • 成员变量有默认初始值,局部变量没有默认初始值,必须先定义,再赋值,然后使用
  • 继承只能单继承,可以多层继承
  • 抽象类可以没有抽象方法,但有抽象方法一定是抽象类
  • 权限修饰符

  • static:被类的所有对象共享
    • 故可以直接被访问
  • final修饰
    • 基本类型,值不能变
    • 引用类型,地址值不能变
  • 接口
    • 接口中的成员变量默认都由final修饰
    • 接口没有构造方法,因为它主要是抽象行为,所有对象的超类object
    • 接口成员方法只能是抽象的
    • 接口可以单实现,也可以多实现
    • 接口可以单继承,也可以多继承
  • 异常处理
    • 编译时异常:代码报语法错误等
    • 运行时异常:代码不会高亮错误,但运行后报错
  • 集合
    • collection单列(接口)
      • list可重复(接口)
        • ArrayList(实现类)
          • 数据结构为数组,查询快,增删慢
        • LinkList(实现类)
          • 数据结构为链表,查询慢,增删快
      • set不可重复(接口)
        • HashSet(实现类)
          • 对集合顺序不做保证
          • hash:根据对象的地址或者字符串或者数字算出来的int类型的数值
          • LinkedHashSet(有序(存储和取出的顺序)且不重复)
        • TreeSet(实现类)
          • (按一定的规则(如自然排序)排序)且不重复)
          • 比较器Comparator
    • map双列(接口)
      • HashMap(实现类)
  • 泛型
    • 实参只能是引用类型
    • 参数化类型,调用时传入具体的类型
  • IO流
    • 字符流:打开记事本能够读懂
      • 处理中文
      • =字节流+编码表
      • 字符输入输出流
        • 简化FileReader/Writer
      • 字符缓冲流
        • readline()方法只读内容,不读任何行结束的字符
    • 字节流:打开记事本读不懂,如图片
      • 字节输入流
        • 缓冲
      • 字节输出流
        • 缓冲
    • read()方法
      • 读取字节流数组时,返回的是每次读的字节数,而不是数组的长度