1.语法

  class 类名1 extends 类名2{

    //成员变量和成员方法

  }

2.继承要注意的事项:

  1)千万不要为了减少重复代码而去继承,只有真正存在着继承关系的时候才去继承。

  2)父类私有的成员不能被继承。

  3)父类的构造函数不能被继承。

  4)创建子类对象时默认会先调用父类无参的构造函数。

 

  疑问:为什么要调用父类的构造方法啊?这样子做的意义在那?

  解答:调用父类的构造方法是可以初始化从父类继承下去的属性的。

3. super关键字:

  1)定义:

    super关键字代表了父类空间的引用

  2)super关键字的作用:

    1. 子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员。

    2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。

      super():调用父类无参的构造方法

      super(参数1):调用父类的一个参数的构造方法

  3)super关键字调用父类构造方法要注意的事项:

    1. 如果在子类的构造方法上没有指定调用父类的构造方法,那么java编译器会在子类的构造方法上面加上super()语句。

    2. super关键字调用父类的构造函数时,该语句必须要是子类构造函数中的第一个语句。

    3. super与this关键字不能同时出现在同一个构造函数中调用其他的构造函数。因为两个语句都需要第一个语句。

4. super关键字与this关键字的区别

  1)代表的事物不一致。

    1. super关键字代表的是父类空间的引用。

    2. this关键字代表的是所属函数的调用者对象。

  2)使用前提不一致。

    1. super关键字必须要有继承关系才能使用。

    2. this关键字不需要存在继承关系也可使用。

  3)调用构造函数的区别:

    1. super关键字是调用父类的构造函数。

    2. this关键字是调用本类的构造函数。

5. 重写

  1)定义:父类的功能无法满足子类的需求。

  2)注意:

    1. 必须要存在继承的关系。

  

  3)方法重写要注意的事项(两同两小一大):

  

    1.方法重写时, 函数名要一致,形参列表一致(两同)

    2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。(一大)

    3.方法重写时,子类的返回值类型必须要小于或者 等于父类的返回值类型。

    4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。(两小)

    注意: Exception(最坏)    RuntimeException(小坏)

16. 继承(extends)的更多相关文章

  1. JAVA之旅(六)——单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖

    JAVA之旅(六)--单例设计模式,继承extends,聚集关系,子父类变量关系,super,覆盖 java也越来越深入了,大家加油吧!咱们一步步来 一.单例设计模式 什么是设计模式? JAVA当中有 ...

  2. Django---MTV和MVC的了解,Django的模版语言变量和逻辑,常见的模板语言过滤器,自定义过滤器,CSRF了解,Django的母版(继承extends,块block,组件include,静态文件的加载load static),自定义simple_tag和inclusion_tag

    Django---MTV和MVC的了解,Django的模版语言变量和逻辑,常见的模板语言过滤器,自定义过滤器,CSRF了解,Django的母版(继承extends,块block,组件include,静 ...

  3. Js 类继承 extends

    html 及 js 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  4. iBatis.net 类的继承extends和懒加载

    <resultMaps> <resultMap id="FullResultMap" class="t_c_team_member_permission ...

  5. es6 Class的继承extends & super

    Class之间可以通过extends关键字,实现继承. 子类会继承父类的属性和方法. class Point { constructor(x, y) { this.x = x; this.y = y; ...

  6. 8 继承-extends

    面向对象的特征:继承,封装和多态 java 当中只支持单继承,不允许多继承 class Person { String name; int age; void eat() { System.out.p ...

  7. 继承extends

    class Person{ String name; int age; void eat(){ System.out.println("吃饭"); } void introduce ...

  8. JAVA 继承 extends

    /* 继承 1.提高了代码的复用性,简化了代码 2.让类与类之间产生了继承关系,才有了后面的多态的特性的存在 注意:千万不要为了获取其它类的功能简化代码,而建立继承关系, 必须要类与类之间存在继承关系 ...

  9. JAVA篇<一> 继承extends(已转移到JAVA总结篇)

    前题:如果不经过指出继承,那么所有的类都继承了JAVA中的Object类. 正文: 继承的关键字是:extends,是所有面向对象语言的重要特性. 例public class TestExtends ...

随机推荐

  1. redis性能

  2. 每天一个Linux常用命令 cp命令

    Linux cp命令主要用于复制文件或目录 -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Win ...

  3. 前端用vue,后端需要nodejs吗?

    其实用脚趾头想想也知道:后端用不用node,和前端用不用vue,二者完全没关系. 那为何用vue和vue插件开发前端的时候,经常需要各种npm install呢?为何要在本地安装node环境? 本地需 ...

  4. RMI远端方法调用

    一.RMI介绍 RMI(Remote Method Invocation),RMI是分布式对象软件包,它简化了在多台计算机上的JAVA应用之间的通信.必须在jdk1.1以上,RMI用到的类:java. ...

  5. vue element-ui NavMenu错位问题

    原因:子菜单全部打开后太长超过100% 解决方法:设置只能点击打开当前的菜单

  6. Java网络爬虫笔记

    Java网络爬虫笔记 HttpClient来代替浏览器发起请求. select找到的是元素,也就是elements,你想要获取具体某一个属性的值,还是要用attr("")方法.标签 ...

  7. js监听input输入字符变化

    <p class="text-input"> <input type="text" id="username" autoC ...

  8. python实现收邮件判断模块poplib,email

    一.代码 # 输入邮件地址, 口令和POP3服务器地址: import datetime import email import poplib import email.policy from ema ...

  9. FS获取KERNEL32基址的三种方法

    FS寄存器指向当前活动线程的TEB结构(线程结构) 偏移  说明 000  指向SEH链指针 004  线程堆栈顶部 008  线程堆栈底部 00C  SubSystemTib 010  FiberD ...

  10. apk签名原理及实现

    发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用. 例如,Android系统禁止更新安装签名不一致的APK: ...