Java基础之继承

继承(extend)

被final修饰的类不能被继承。

        Java中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经 存在的类称为父类、基类或超类,而新产生的类称为子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法。

  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。

  • extands的意思是“扩展”。子类是父类的扩展。

  • JAVA中类只有单继承,没有多继承!

  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。

  • 继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系.

调用父类的构造器必须在子类的第一行

        注意:如果在父类中存在有参的构造方法而并没有重载无参的构造方法, 那么在子类中必须含有有参的构造方法,因为如果在子类中不含有构造方 法,默认会调用父类中无参的构造方法,而在父类中并没有无参的构造方 法,因此会出错。

super注意点

  1. super调用父类的构造方法,必须在构造方法 发第一个

  2. super 必须只能出现在子类的方法或者构造方法中!

  3. super 和this 不能同时调用构造方法!

va this

代表的对象不同:

this:表示本身调用者这个对象 this():本类的构造

super: 代表父类对象的应用 super():父类的构造

前提:

  • this:没有继承也可以使用

  • super:只能在继承条件才可以适用

*重写都是方法的重写,跟属性无关

this与super的异同

  • 子类和父类中变量或方法名称相同时,用 super 关键字来访问。可以理 解为 super 是指向自己父类对象的一个指针。在子类中调用父类的构造方法。

  • this 是自身的一个对象,代表对象本身,可以理解为 this 是指向对象本 身的一个指针。在同一个类中调用其它方法。

  • this 和 super 不能同时出现在一个构造方法里面,因为 this 必然会调用其它的构造方法,其它的构造方法中肯定会有 super 语句的存在,所 以在同一个构造方法里面有相同的语句,就失去了语句的意义,编译器 也不会通过。

  • this( ) 和 super( ) 都指的是对象,所以,均不可以在 static 环境中使 用,包括 static 变量、static 方法和 static 语句块。

  • 从本质上讲,this 是一个指向对象本身的指针, 然而 super 是一个 Java 关键字。

方法的重写:

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

  • 子类的方法和父类必要一致,方法体不同!

  • 参数列表必须完全与被重写的方法参数列表相同。

  • 修饰符,范围可以扩大但不能缩小:public>protected>default>private;

为什么需要重写:父类的功能,子类不一定需要,或者不一定满足。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值