我们在以前的学习中,我们会了C#中的继承,今天我们来了解了解Java中的继承,其实都大同小异啦!

1.语法

修饰符 SubClass extends SuperClass(){

//类定义部分

}

eg:public Dog extends Pet(){

}

我们说Dog继承了Pet

2.那么Dog究竟可以继承Pet类中的什么东西?

01.当这两个类位于同一个包时,Dog类继承Pet类中Public,protected和默认(friendly)访问级别的成员变量和成员方法。

02.当这两个类位于不同一个包时,Dog类继承Pet类中Public和protected访问级别的成员变量和成员方法。(不能继承默认访问级别的)

03.无法继承private修饰的属性和方法。

04.无法继承父类的构造方法。

3.Java中只支持多继承,即每个类只能有一个直接父类,但它可有多个间接父类

4.方法的重写

在子类中可以根据需求对父类继承的方法进行重新编写,称为方法的重写或方法的覆盖

需求:

01.重写方法和被重写方法必须具有相同的方法名。

02.重写方法和被重写方法必须具有相同的参数列表。

03.重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类。

04.重写方法不能缩小被重写方法的访问权限。

5.super关键字

super代表对当前对象的之前直接父类对象的默认引用。在子类中可以通过super关键字来访问分类的成员。

注意点:

01.super必须出现在子类(子类的方法和构造方法)中,而不是其他位置。

02.可以访问父类的成员,如父类的属性,方法,构造方法。‘

03.注意访问权限的限制,如无法通过super访问private成员。

6.继承关系中的构造方法

eg:Dog类的构造方法

public Dog(String name,String strain){

super.(name);

this.strain=strain;

}

继承条件下的构造方法的调用规则如下:

01.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用调用父类的无参构造方法。在这种情况下,有没有“super();”语句,效果都说一样的。

02.如果子类的构造方法中通过super显示调用父类的有参构造方法,则将执行父类相应的构造方法,而不执行父类无参构造方法。

03.如果子类的构造方法中通过this显式调用自身的其他构造方法,则在相应构造方法中应用以上两条规则。

04.特别注意的是,如果存在多继承关系,则在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行父类Object类的无参构造方法为止。

java中的extends_Java中的继承相关推荐

  1. java 中的extends_java中? extends T 和? super T解析

    PECS原则 最后看一下什么是PECS(Producer Extends Consumer Super)原则,已经很好理解了: 频繁往外读取内容的,适合用上界Extends. 经常往里插入的,适合用下 ...

  2. Java多线程中的ThreadLocal,可继承,可修改

    Java多线程中的ThreadLocal,可继承,可修改. package test;import java.util.Date;public class InheritableThreadLocal ...

  3. 谈谈java中成员变量与成员方法继承的问题

    谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类: 其次再创建一个子类,子类中要比父类中少一个成员方法: 这样 ...

  4. java中的事件都继承自_下列说法中不正确的是()。A.Java语言中的事件都是继承自Java.awt.AW-TEvent类B.AWTEve...

    下列说法中不正确的是().A.Java语言中的事件都是继承自Java.awt.AW-TEvent类B.AWTEve 更多相关问题 [单选] 月经后期而至,量少,色淡,质清稀,少腹隐痛,喜暖喜按,脉沉迟 ...

  5. 第32节:Java中-构造函数,静态方法,继承,封装,多态,包

    构造函数实例 class Cat{// 设置私有的属性 name private String name;// 设置name的方法public void setName(String Name) {t ...

  6. 类的包访问权限:《Java编程思想》中一段话的困惑

    类的包访问权限:<Java编程思想>中一段话的困惑 在<java编程思想第三版>(陈昊鹏 饶若楠等译)的第五章隐藏具体实现中,5.4节的最后一段话是: "正如前面所提 ...

  7. java synchronized 使用_Java中Synchronized的用法

    synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...

  8. java synchronized静态_Java中Synchronized的用法(简单介绍)

    简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...

  9. Java教程之JDBC中的常用接口和类

    JDBC定义了一系列操作数据库的接口和类,这些接口和类位于java.sql包中.接下来,本节将详细介绍JDBC的常用API. Driver接口 Driver接口是所有JDBC驱动程序必须要实现的接口, ...

最新文章

  1. UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入
  2. Design Pattern - Singleton(C#)
  3. gcc编译选项-Os的用法
  4. 10kv开关柜价格_一进三出10KV负荷开关环网柜乌兰察布
  5. scala学习-类与对象
  6. 获取springbean的几种方式
  7. yii配置mysql_YII2中配置MySQL读写分离
  8. 模板引擎 Velocity
  9. html图片上传阅览并且点击放大
  10. 数据结构-1-顺序表的实现
  11. 第十届全国社会媒体处理大会 (SMP 2021) 征文通知
  12. 树形DP-Bribing FIPA
  13. 新浪微博分享图片不改变问题
  14. 国家电网电力职称英语计算机网站,国网电力职称英语阅读理解.doc
  15. javascript渐变色算法
  16. Office:你的 OneDrive 帐户存在问题?
  17. 使用 Hugo 和阿里云ECS搭建个人站
  18. 《自己动手写框架8》:高屋建瓴,理念先行
  19. 小米CC9 国际版使用体验
  20. “6.1国际儿童节”与开放系统互联7层框架模型

热门文章

  1. 使用加速度计进行崩溃检测
  2. 全新设计的 Xcode 12
  3. mysql sync es 异步双写_mysql数据同步es方案思考
  4. 在java中获取当前时间_JAVA中获取当前系统时间
  5. python从文件中读取数据时出现错误_python-从文件中读取数据
  6. vue-element-admin 设置默认语言
  7. 最优阈值生长算法_手淘搜索阈值刻度表:让你更加清楚类目搜索增长的规律
  8. php期末考试题机考_phP基础知识期末考试题
  9. phpstudy配置oracle,phpStudy配置sql、oracle---博主摘录
  10. dragon编译linux,在Linux系统中安装Alibaba Dragonwell8的方法