栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

(兔C残篇)Java 面向对象的三个基本特性:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(兔C残篇)Java 面向对象的三个基本特性:继承,Super关键字的使用,this关键字的使用,super和this的区别,方法重写

如文章标题,今天兔C残篇阐述的话题如下:

文章目录

1.什么是继承

1.1 democode1.2 关于继承的理论知识概念 2. Super 关键字3.this 关键字4.this 和 super 的区别4.方法重写

1.什么是继承

继承是面向对象的三大特性之一,本质上是对某一批类的抽象,从而实现对现实世界更好的建模。
在使用继承的时候,我们使用extends 关键字,extends关键字的意思是:扩展,子类是父类的扩展。

1.1 democode
//这里我们写一个person类
public class Person{
     public String name; //人的姓名
     public int age; //人的年龄
     
     Object 类是所有类的祖宗,当我们创建一个类的时候,它会隐含的默认继承Object类
          
          这里我们使用public权限修饰,子类在继承这个父类的时候,就可以调用到父类的属性
          
          //我们的Java 是单继承的,没有多继承!
          //我们在下面知识模块中使用extends 实现继承
}
1.2 关于继承的理论知识概念

Java 是单继承,没有多继承。当一个类没有明确指定继承类的时候,会默认的继承Object类继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖,组合,聚合等继承关系的两个类,一个类为子类(派生类),一个为父类(基类),子类继承父类,使用extends关键字实现子类和父类之间,从意义上讲应该具有 “is a” 的关系 2. Super 关键字

public class Student extends Person{
     super.name;
     super.age;
     //在这里我们可以使用 super 关键字调用到父类的属性。
     
     如果调用当前类的属性,我们使用this关键字。
     如果是调用方法的话,也可以使用这两个关键字。与属性相同,
     调用父类的就使用super,调用当前类的就使用this关键字。
          
     如果调用构造方法的话,可以使用this();,父类的构造方法使用super();。
     构造器我们要妥善使用,在定义构造器的时候,如果定义了有参构造,
     那一定要定义无参构造,不然在调用的时候,没法调用到无参构造。
     (因为无参构造是默认创建的,当我们显示的创建有参构造的时候,
     无参的构造就不再自己默认隐含创建了,所以需要自己创建好无参构造器)
          
     而且有参构造也要妥善使用,不然参数定义过多的时候,调用起来容易出现顺序错误,
     导致出现问题。
          这个意思就说,比如你定义了八个参数的无参构造 参数列表,那自己调用的时候,
          忘记了参数定义的顺序,然后进行传参或者说,参数设置时,因为忘记了导致参数
          传递有误,所以很容易出现问题。
          
     而且还有一个特点,我要说明,在子类的构造方法中,它会 隐含的默认 写上一句代码
       super();调用父类的无参构造,这时候就没法使用 this(); 调用自己类的,不然会
       报错,也就是说,在构造方法中,只能使用super();因为这是默认调用的,不写也会
       有一句隐含的代码。当然了,如果指定调用有参构造,就不用调用无参构造器了。
}
3.this 关键字

this关键字的含义就是代表当前的

4.this 和 super 的区别

super

    super 调用父类的构造方法,必须在构造方法的第一个super 必须只能出现在子类的方法或者构造方法中super 和 this 不能同时调用构造方法

this

代表的对象不同

this 本身调用者这个对象

super 代表父类对象的引用

前提

this 没有继承也可以使用

super 只能在继承条件下才可以使用

构造方法

this(); 本类的构造

super(); 父类的构造

4.方法重写

需要有继承关系,子类重写父类的方法!

    方法名必须相同参数列表必须相同修饰符:访问可以扩大但是不能缩小: public > protected > default > private

public 本类,本包,子类,其他包protected 可以在本类,本包下的其他类,本包下的子类 ,访问default 可以在本类,本包下private 只能在本类中访问

    抛处的异常: 范围,可以被缩小,但不能扩大:classnotfoundexception —> Exception(大)

小结:
其实重写很好理解,我们不看上面必须满足的硬性条件来白话理解一下,其实就是我们写一个类,然后继承了另一个类,本来继承这个类的目的可能就是想用他的某个方法,但是之后才发现,想要用的哪个方法其实并不能完全满足我们使用它的目的,需要改进。于是乎,就重写了父类的方法,只要改变方法体中的逻辑就可以完成目标了。所以重写的特点也只是方法体中的变化。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号