继承使用已存在的类的定义作为基础建立新类,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类
使用extends实现封装
class Father{
}
class Son extends Father{
}
方法重写:
在满足继承关系的子类中,方法名、参数个数、顺序、类型、返回值与父类相同,访问修饰符的限定范围大于等于父类方法。
方法重载:在同一个类中,方法名相同,参数个数、顺序、类型不同,返回值类型和访问修饰符任意 。
private修饰符可被本类访问
default修饰符可被本类和同包访问
protected修饰符可被本类、同包、子类访问
public可被所有访问
子类访问父类成员
super.父类方法();
super.父类属性();
super();
构造方法调用时,super和this不能同时出现。
Object类是所有类的父类,一个类没有使用extends关键字明确标识继承关系,则默认继承Object类,Java中的每个类都可以使用Object中定义的方法。
Object类的常用方法:
toString()返回当前对象本身的有关信息,按字符串对象返回
equals()比较两个对象是否是同一个对象,是则返回true
hashCode()返回该对象的哈希代码值
getClass()获取当前对象所属的类信息,返回Class对象。
final修饰类表示不允许被继承,修饰方法表示不允许被子类重写,修饰变量表示不允许修改。
final可配合static使用,使用final可以提高性能,但会降低可扩展性。