Java基础06

final 关键字

  1. final 修饰的类不能被继承
  2. final 修饰的方法不能被子类重写
  3. final 修饰的变量(成员变量和局部变量)是常量,只能赋值一次

访问控制符

private——>default——>protected——>public

  1. private(当前类访问级别):如果类的成员被 private 访问控制符来修饰,则这个成员只能被该类的其他成员访问,其他类无法直接访问
  2. default(包访问级别):如果一个类或者类的成员不使用任何访问控制符修饰,则称它为默认访问控制级别,这个类或者类的成员只能被包中的其他类访问
  3. protected(子类访问级别):如果一个类的成员被 protected 访问控制符修饰,那么这个成员既能被同一包下的其他类访问,也能在不同包下该类的子类访问
  4. public(公共访问级别):最宽松的访问控制级别,如果一个类或者类的成员被 public 访问控制符修饰,那么这个类或者类的成员能被所以类访问,不管访问类与被访问类是否在同一个包下

Object 类

Object 类,是所以类的父类,即每个类都直接或间接继承自该类,因此 Object 类通常被称为超类基类或根类

Object 类常用方法:

  • boolean equals(Object obj):判断某个对象与此对象是否相等
  • final Class<?>getClass():返回 Object 的运行时类
  • int hashCode():返回该对象的哈希码值
  • String toString():返回该对象的字符串表示
  • void finalize():垃圾回收器调用此方法来请理没有被任何引用变量所引用对象的资源

Lambda 表达式(JDK 8)

Lambda 表达式,使用一个清晰简洁的表达式来表示一个接口,同时 Lambda 表达式也简化了对集合以及数组数据的遍历、过滤和提取等操作。

Lambda 表达式只针对由一个抽象方法的接口实现

Lambda 表达式格式:参数列表—>表达式主体

/**
* ([数据类型 参数名,数据类型 参数名,...])->{表达式主体}
* ([数据类型 参数名,数据类型 参数名,...])    向表达式主体传递接口方法需要的参数,可以省略参数的数据类型
* ->   必须用英文横线和大于号书写
* {表达式主体}  接口中抽象方法的具体实现,允许有返回值
*/
String name = "cat";
//匿名内部类作为参数传递给 animalShout() 方法
animalShout(new Animal() {
    @Override
    public void shout() {
        System.out.println("匿名内部类:"+name+"喵喵");
    }
}
           );
//使用 Lambda 表达式作为参数传递给 animalShout() 方法
animalShout(()-> System.out.println("Lambda:"+name+"喵喵"));

垃圾回收

强制系统进行垃圾回收:

  1. 调用 System 类的 gc() 静态方法:System.gc()
  2. 调用 Runtime 对象的 gc() 实例方法:Runtime.getRuntime().gc()
posted @ 2021-03-12 17:14  %新手上路%  阅读(129)  评论(0)    收藏  举报