显示所有属性:alt+shift+s
封装快捷键:alt+shift+s+r
什么是继承?
继承是符合人类现实世界的一种概念,它的作用把相同的属性和方法抽取出来,提供可以被继承的
子类使用,实现代码重用的效果。
继承的关键字:
extends
注意:一个子类只能继承一个父类,一个父类可以被无数个子类继承
继承的步骤:
1.创建拥有共同属性和方法的父类
2.用子类继承父类将会拥有父类的属性和方法
3.直接可以用子类对象进行访问
如何访问父级的属性和方法?
super关键字的访问
注意:1、如果用super访问父级构造方法时必须放在第一行
2、super只能在子类中的方法和构造方法中出现
3、super不能访问父级的私有变量
继承实现的初始化问题:
优先进行 父类属性--->父类构造--->子类属性--->子类构造
子类与父类是is-a关系
不能被继承的父类成员:
1.private修饰符
2.不在同一包下,使用默认权限访问成员
3.构造方法不能继承(只能被调用)
访问修饰符的权限:*
本类 同包 子类 其他
private √
默认(friendly) √ √
protected √ √ √
public √ √ √ √
方法重写规则:*
1、方法名相同
2、参数列表相同
3、返回值类型相同或是其子类
4、修饰符权限不能严于父类
注意:构造方法不能被重写
Object类:
是所有的类
常用方法:
toString(); 输出对象的所有信息
equals(); 比较两个对象是否为同一个对象,是返回true
hashCode(); 返回对象的哈希码值
getCalss(); 获取当前对象所属的类
abstract:抽象
1、当修饰类型时,类变成抽象类,无法进行创建对象(实例化)
2、当修饰方法时,会变成抽象方法(直接给子类提供重写,提供功能)
特征:
1、没有方法体
2、子类必须实现抽象方法
3、抽象方法只能在抽象类中(除非子类是抽象类)
final用法:
最终的;
1、修饰的类无法被传承
2、修饰的方法不能被重写
3、修饰变量变为常量,不能再次赋值