继承的格式:class 子类 extends 父类{} //一个子类只能有一个父类
super关键字:指向父类,调用父类构造方法,访问父类属性,访问父类方法。条用super构造方法的代码必须在子类构造方法的第一行。
重写(Override):子类对父类方法体的重写
1、参数列表必须与被重写的方法完全相同
2、返回类型必须与被重写方法相同
3、访问权限不能比被重写方法访问权限更低
4、父类方法只能被它的子类方法重写
5、声明为static和private的方法不能被重写,但能被再次声明
重载(Overload):同一个类中同一个方法参数不同,比如无参构造方法和全参构造方法。
final关键字:
final int A; //final 修饰的局部变量,只能赋值一次 (可以先声明再赋值),final修饰的成员属性,必须在声明时赋值。
全局常量 :public static final int A = 0;
常量命名:全部大写
final修饰的类,不能被继承。
final修饰的方法,不能被重写
抽象类 abstract:
关键字:abstract //abstract class 抽象类名{ public abstract void 抽象方法名();}
抽象类中可以没有抽象方法,抽象方法必须在抽象类中。
抽象类不能被实例化,即:不能被new
抽象类不能使用private修饰(必须能够被继承)
接口interface:
定义格式:
interface 接口名称{
全局常量;
抽象方法;
}
面向接口的编程思想:接口是定义(规范,约束)与实现(名实分离的原则)的分离
1、降低程序的耦合性
2、易于扩展
3、利于维护
全局常量和抽象方法的简写:
接口和抽象类的区别:
1、接口被实现,抽象类被继承
2、接口中只能有抽象方法
3、接口里定义的变量只能是公共的静态常量
4、抽象类不能多继承,接口可以多实现
5、抽象类中可以包含static方法,接口中不允许(以为静态方法不能被子类重写)
6、接口不能有构造方法
多态:多想的多种表现形式,多种体现形态
对象角度:子类同时也是父类
重载:一个勒种方法的多态体现
重写:子父类中方法的多态性体现
多态的使用:对象的类型转换
向上转型:子类变父类
父类 父类对象名 = 子类对象名;
向下转型:父类变子类——强制转型
子类 子类对象名 = (子类) 父类对象名;
关键字 instanceof