oop(Object Oriented Programming)三大特征
1)封装
定义:将一个类使用的属性和方法,进行私有化,只开放部分接口(属性,方法)与外部联系.
规则:
把属性私有,提供getter,setter方法进行访问.
把构造器私有化,提供创建对象方法.(单例模式)
规范:
一般在编程的时候,只要求属性私有化,但是一定提供getset方法进行简洁访问
2)继承
概念:当前类派生出新的类,当前类被称为基类(父类),派生出来的称为派生类(子类),子类会默认继承父类的属性和方法,并且子类可以扩展自己的属性和方法.
关键字: extends
修饰符 class subclass extends superclass{
}
当类的访问范围:(https://blog.csdn.net/tianlang__/article/details/122212017?spm=1001.2014.3001.5502)
继承访问范围:
子类继承父类在同包下,除开私有的(private),其他属性和方法均可访问
子类和父类在不同包下,子类只能访问父类公共的(public)和受保护的(protected).
类执行顺序:静态 > 属性 > 构造器
子类构建过程:
先创建父类对象,然后再创建子类对象,最后把子类对象和父类对象进行关联系,说明父子关系.
Object 超类,根类
如果一个类没有明确的父类,那么默认继承Object.
子类执行顺序:
静态最优先
父类属性 >父类构造器 >子类属性 >子类构造器
注意:java只支持单继承,多实现
继承的优缺点:
优点:优化代码,提高代码复用性. 缺点:耦合度高
扩展:高内聚,低耦合,多聚合,少继承.
重写override
当父类的方法不满足子类的需求的时候,子类对该方法进行重新书写,叫重写.
规则
发生在子类中,方法相同,参数列表相同,返回类型相同
修饰符访问范围大于等于父类
super
调用构造器: 在子类构造器中,如果要指定的调用父类构造器使用super
super([参数列表]); 这句话必须在第一句
调用方法:如果子类重写父类方法,指定调用父类被重写方法,使用super
super.方法名([参数列表]);
调用属性:如果子类重写了父类的熟悉,指定调用父类被重写的熟悉,使用super
super.属性名;