Java-子类和父类的几种关系
一 变量的关系:
如果子父类中出现非私有的同名成员变量的时候
子类要访问该变量用this
父类访问用super关键字

注意:
super和this使用基本一致
this代表的是本类的对象的引用
super代表的是父类对象的引用
下面是一个模型
这里写图片描述
二 函数的关系:
当子类和父类出现了一样的函数时:
当子类对象调用该函数的时候,会调用子类函数,就像父类函数被覆盖一样
这种特性叫:重写(覆盖)
当子类继承父类,研习了父类的功能,到子类中
但是子类虽然具备该功能,但是功能的内容却和父类不一致
这时,没有必要定义新的功能,而是使用覆盖,保留父类的功能定义,并重写功能主体

特点:
1,子类覆盖父类,必须保证子类的权限大于等于父类权限,否则编译失败
2,静态只能覆盖静态

区别:
重载:只看同名函数的参数列表
重写:子类和父类的方法要一模一样
这里写图片描述
三 构造函数的关系:
为什么子类对象在初始化的时候,要先访问下父类的构造函数:
因为父类的数据子类可以直接获取,所以子类对象在建立时,需要查看父类是
如何初始化这些数据的

**注意:**super语句一定定义在子类构造函数的第一行(不是第一条语句)

特点:
子类的所有的构造函数,默认都会访问父类空参数的构造函数
因为子类每一个构造函数的第一行都有一条隐式的super();

当父类中没有空参数的构造函数时,子类必须通过super关键字来指定访问父类中的
构造函数

注意:
子类的构造函数的第一行也可以手动指定this语句来访问本类的构造函数。
子类中至少会有一个构造函数会访问父类中的构造函数

更多相关文章

  1. JavaScript中的map()函数
  2. 自定义MapReduce输入格式 - 找不到构造函数
  3. 关于webview中java调用js函数(解决loadUrl函数没反应)
  4. 使用Java中的Scala:将函数作为参数传递
  5. 关于Javascript中声明变量、函数的笔记
  6. 异步执行多个任务并在JavaScript函数中返回第一个成功的结果

随机推荐

  1. android 刚进入activity 时关闭输入法
  2. Android(安卓)(DiskLruCache)硬盘缓存代码
  3. LocationManager 的requestLocationUpdat
  4. Android Wi-Fi 修改国家码(QCOM平台)
  5. h5在线动态页面调用app原生方法
  6. Android 小代码集
  7. android9.0 关闭launcher界面的搜索框
  8. Android中怎么去掉imgview 中上下的空白?
  9. Android获取状态栏的高度
  10. Android(安卓)init.rc文件解析过程详解(