存储在 堆 中
自动赋初始值
方法中定义的变量,或方法的参变量
存储在 栈 中
需要显式赋值,不能被访问控制符和 static 修饰
多态: 一个程序中相同名字表示不同含义
编译时多态
重载 overload (多个同名的不同方法)
运行时多态
覆盖 override (子类对父类方法进行覆盖)
动态绑定 (dynamic binding) -- 虚方法调用
upcasting 向上转型
downcasting 向下转型
构造器中避免调用任何方法
class Person { String name = ""; // step2 Person() { super(); // step1 System.out.println(""); // step3 } }
匿名类的一个实例,基本写法: 参数 -> 结果,匿名函数
条件
Boolean, Byte, Short Character, Integer, Long, Float, Double
特殊的 class 类型
enum Light { Red, Yellow, Green }; // 编译成 // final class Light extends java.lang.Enum<Light> {} Light light = Light.Red;