一、重载和重写 重载即编译前绑定,重写即运行前绑定 二、封装 降低代码出错的可能性,便于维护 当内部实现细节改变时,只要保证对外的功能定义不变,其他的模块就不会因此受到牵连 三、Static 1)静态变量:由static修饰,属于类,存储在方法区中,只有一份, 通过类名.来进行调用,当所有对象所共享的资源的时候(图片、视频、音频等)使用 2)静态方法:由static修饰,属于类,存储在方法区中,只有一份, 通过类名.来进行调用,方法的操作只与参数相关,但是与对象无关 3)静态代码块 属于类中,在类被加载的期间进行自动调用, 类只能被加载一次,所以静态代码块也执行一次 初始化、加载静态资源的时候调用。 四、修饰符 注意:一个文件中只能有一个public修饰类 五、抽象类的应用 1)抽象方法:abstract修饰,只有方法的定义,没有方法的具体实现 eg:public abstract void teach();——没有花括号{ } 2)抽象类:abstract修饰,包含抽象方法的类必须是抽象类;抽象类是不能被实例化的 抽象类是需要被继承的,继承了抽象类的子类——要重写所有的抽象方法;或变普通类为抽象类 3)意义: 封装了子类中所共有的属性和行为——代码重用 为所有子类提供一种统一的类型——向上造型 可以包含抽象方法,为所有的子类提供统一的入口 扩展: 1)设计规则: 将所有的子类/派生类所共有的属性和行为,抽到父超类中 所有的子类行为都一样,设计为普通方法; 所有的子类行为都不一样,设计为抽象方法。 六、接口(interface) 接口可以 看成特殊的抽象类,即只包含有抽象方法的抽象类 接口的实现:一个类可以实现多个接口 ,用逗号分隔,implements 2)接口的特点: 。借口不能被实例化 。接口是可以多实现的,但是继承是单继承 。接口中式是可以定义方法的,方法也有固定的修饰词:public abstract 。子类必须覆盖接口中所有的抽象方法,子类才可以实例化,否则子类是一个抽象类 。接口中式是可以定义变量的,但是变量必须有固定的修饰词,public static void main 也称为常量,值不发生改变 3)final 修饰符 。修饰符,可以用于修饰类,成员变量,成员方法 。只要被final修饰的类,不能被继承,不能有子类,不能被重写 。final修饰的变量,不可以被修改,是常量