一、面向对象三大特征:封装、继承、多态
二、封装:
1、封装两大特征:合理隐藏数据、合理暴露数据
2、把数据使用private修饰,可以通过定义一个public的方法把数据暴露出去
三、继承
1、java是单继承,但是可以间接继承,extends
2、在java中,任何类,除了Object,所有的类都有父类
3、子类可以继承父类的哪些属性和方法?
同一个包下:public、默认、protected
不同的包下:public、protected
访问:
同一个包下:public、默认、protected
不同的包下:public
4、重写/覆盖:override,继承关系中,子类的方法和父类的方法方法名相同,参数类型一致,返回类型相同,访问权限
子类不能比父类更严格:private > 默认 > protected > public @override
5、重载:在一个类中,方法名相同,参数类型不同,对返回值没有要求
6、构造方法是不能被继承,但是子类的构造方法一定会调用父类的构造方法(第一行)
如果子类没有显式调用父类构造方法,系统默认调用父类无参构造方法
如果父类没有无参的构造方法,子类必须显示调用父类有参的构造方法
7、super父类的,调用父类的属性-->super.属性名,调用父类的方法-->super.方法名(形参)
调用父类的无参构造方法-->super(),调用父类有参的构造器-->super(形参)
四、多态
1、向上转型:声明的时候是父类,实例化的时候是子类--> 父类类名 对象名 = new 子类的构造器
向下转型:声明的时候是子类,实例化的时候是父类--> 子类类名 对象名 = new 父类的构造器,不安全
2、使用多态的时候,调用的属性和方法都是父类的,如果子类重写了方法,则方法调用的是子类的,不能调用
子类存在而父类不存在的属性和方法
3、instanceof: 对象名 of 类名
五、实例化顺序:知道就可以了
相关文章
- Py修行路 python基础 (十六)面向对象编程的 继承 多态与多态性 封装
- 初识面向对象(钻石继承,super,多态,封装,method,property,classmethod,staticmethod)
- java面向对象(封装-继承-多态)
- python基础(25):面向对象三大特性二(多态、封装)
- Python面向对象三大特征 封装、继承、多态
- 3、C#面向对象:封装、继承、多态、String、集合、文件(下)
- php 三大特点:封装,继承,多态
- Java面向对象_解释_三大特征
- 面向对象3大特性:封装、继承、多态——多态(引用类型转换、抽象类、接口Interface)
- Java学习之旅基础知识篇:面向对象之封装、继承及多态