1.final 不可改变。可以用于修饰类、方法和变量 2.权限修饰符 技巧 成员变量使用 private ,隐藏细节。构造方法使用 public ,方便创建对象。成员方法使用 public ,方便调用方法 3.内部类 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。 1.成员内部类 定义在类中方法外的类外部类名.内部类名 对象名 = new 外部类型().new 内部类型(); 2.匿名内部类 是内部类的简化写法。它的本质是一个 带具体实现的 父类或者父接口的 匿名的 子类对象。前提 匿名内部类必须继承一个父类或者实现一个父接口 使用 //定义接口: public abstract class FlyAble{ public abstract void fly(); } 创建匿名内部类,并调用: public class InnerDemo { public static void main(String[] args) { /* 1.等号右边:是匿名内部类,定义并创建该接口的子类对象 2.等号左边:是多态赋值,接口类型引用指向子类对象 */ FlyAble f = new FlyAble(){ public void fly() { System.out.println("我飞了~~~"); } }; //调用 fly方法,执行重写后的方法 f.fly(); } } 4.引用类型 1.class 作为成员变量 类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。 2.interface 作为成员变量 接口作为成员变量时,对它进行赋值的操作,实际上,是赋给它该接口的一个子类对象。 作为方法参数和返回值类型 接口作为参数时,传递它的子类对象。接口作为返回值类型时,返回它的子类对象。