19.黑马程序员-子父类中变量的特点
来源:互联网 发布:昵称特殊字符 数据库 编辑:程序博客网 时间:2024/05/18 12:37
------- android培训、java培训、期待与您交流! ----------
子父类出现后,类成员的特点:- 类中成员:
- 1,变量。
- 如果子父类中出现非私有的成员变量时,
- 子类要访问本类的变量用this,
- 要访问父类的变量用super,super代表的是父类的应用。
- 2,函数。
- 3,构造函数。
- 1,变量。
- super:父类对象。
- 变量的特点
- 有了父类以后,内存中就变得不一样。
- 加载子类class文件前先加载父类class。
- 方法区分静态区、非静态区(存放方法), 非静态区中存放方法,父类、 子类 方法先后加载进方法区
- 对象在堆中建立。
- 内存中只有一个子类对象,
- 子类对象一new后分配属性空间:子类属性和父类属性。
- 子类中除了有this指向对象以外,还有super指向子类对象中的父类属性。
- 函数的特点
- 子类对象拿到了父类的函数,可以直接super调用。
- 子父类的函数一致时,使用子类的,这种特性叫重写(覆盖)。
- 当子类继承了父类,沿袭了父类的功能到子类中,子类虽具备该功能,但是功能却和父类不一致,这时保留父类的功能定义,重写父类内容。
- 在子类中super.函数可以添加上父类功能。
- 注意:
- 子类覆盖父类,必须保证子类权限大于等于子类权限,才可以覆盖,否则编译失败。
- 静态只能覆盖静态。牵扯到内存的先后加载问题。
- 重载:只看同名函数的参数列表,
- 重写:子父类方法要一模一样,比如返回值如果不一样是不允许的,JVM不知道掉用谁。
- 构造函数
- 构造函数 不会 存在重写,因为构造函数与类同名,子父同名类不允许出现。
- 子类对象初始化,会先执行父类构造函数。子类不显示调用父类构造函数的时候,子类的所有构造函数第一行隐式是super();调用父类空参数构造函数(非空参数的不会执行)。
- 为什么子类一定要访问父类构造函数?
- 因为父类中的数据,子类可以直接获取。所以子类对象建立时,需要先查看父类是如何对数据进行初始化的。
- 如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
- 简单来的说,就是子类需要父类初始化完后数据。
- 注意:
- super和this都需要定义在第一行。因为初始化动作需要先做。
- this在第一行不会影响super,因为this调用的是另一个构造函数,因为每一个构造函数第一句都是隐式调用super,所以子类中至少有一个构造函数会访问父类。
- 当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来制定要访问父类中的构造函数。
- 19.黑马程序员-子父类中变量的特点
- 黑马程序员—继承中子父类中成员变量的特点
- 子父类中变量的特点
- 黑马程序员 集合List接口的特点
- 黑马程序员_java语言的特点
- 【黑马程序员】01-OC的特点
- 黑马程序员--C#--接口的特点
- 黑马程序员-final关键字的特点
- 黑马程序员__父子类中变量、函数、构造函数的特点、抽象类和模板方法模式
- 黑马程序员_10_成员变量_成员方法_静态成员方法_在多态情况下的特点
- 黑马程序员 变量的使用
- 黑马程序员--03.Java面向对象--05.【继承】【子父类中成员的特点】【子父类中构造函数的特点】
- 黑马程序员--final关键字特点
- 黑马程序员_HashSet应用特点
- 黑马--程序员 记 多态函数的特点:
- 黑马程序员———Java语言的特点
- 黑马程序员----------List三个子类的特点以及应用场景
- 黑马程序员_JAVA面向对象的三大特点
- NSString常用方法
- 手机端实现Protocol Buffer
- SQLite入门与分析(一)---简介
- document.getElementByTagName的用法
- 如何做科研
- 19.黑马程序员-子父类中变量的特点
- 解析excel文件--2003
- 大战前夕~
- 有符号数与无符号数之间运算问题
- Android logcat read: Invalid argument
- you have blocked popups in your browser settings aster数据下载
- PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询三:获取内存快照
- 把中文转为对应的拼音
- 在CSDN的第一篇文章~