技术/语言/JavaLearning

Java
  • content: 对象与类,基本数据类型

  • int a, b; 则“a=b”表达式为int类型,不会自动转化为boolean类型

  • Java 的匿名内部类

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
//定义语法
new 父类构造器(实参列表) | 实现接口() //必须继承一个父类或接口
{
//匿名内部类的类体部分
}

/**
* 规范:
* 匿名类的声明是由java编译器自动派生自一个类实例创建表达式。
* 匿名类永远不能是抽象的。
* 匿名类总是隐式的final。
* 匿名类总是一个内部类;并且不能是static的。
*/
  • 注意

    1. 使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。
    2. 匿名内部类中是不能定义构造函数的。
    3. 匿名内部类中不能存在任何的静态成员变量和静态方法。
    4. 匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。
    5. 匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。
  • 内部类的class文件命名是:主类+$+内部类名

  • 匿名类的class文件命名是:主类+$+(1,2,3…)

  • class 对象

    • 获取方式:有三种获得Class对象的方式:
      1. Class.forName(“类的全限定名”)
      2. 实例对象.getClass()
      3. 类名.class (类字面常量)
    • 每个类的运行时的类型信息就是用Class对象表示的