面向对象继承.super.方法重写.抽象类.抽象类方法.final.Object类。

本文深入探讨了Java中的继承机制,包括extends关键字的使用、子类与父类的交互(super关键字)、访问修饰符protected的作用、方法重写的原则与限制。同时,介绍了抽象类和抽象方法的概念,强调了final在变量、方法和类上的应用,以及Object类的基本方法和对象比较。通过理解这些概念,开发者能更好地实现代码的复用和抽象,提高程序设计的灵活性。
摘要由CSDN通过智能技术生成

一,继承:类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。提高代码的复用性。extends的意思是“扩展”。子类是父类的扩展。

继承的好处:

1,方便修改代码。

2,减少代码量。

继承的方法:编写父类,编写子类继承父类。(一个子类只能继承一个父类)

二,super是直接父类对象的引用(可以通过super来访问父类中被子类覆盖的方法或属性。)

普通的使用方法: 没有顺序限制。可以随便调用。

构造函数中:任何类的构造函数中,若是构造函数的第一行代码没有显式的调用super(...);那么

Java默认都会调用super();作为父类的初始化函数。 所以你这里的super();加不加都可以。

子类访问父类成员: 使用super关键字代表父类对象。访问父类构造方法 :super(); super(name);

在子类构造方法中调用且必须是第一句。访问父类属性 :super.name; 访问父类方法 :super.print();

子类对于父类资源的继承,以及不能被继承的父类成员:

1,不能直接访问private成员,

2,子类与父类不在同包,使用默认访问权限的成员。

3, 构造方法不能被继承。

多重继承关系的初始化顺序:1、父类属性---->2、父类构造方法---->3、子类属性---->4、子类构造方法。

java中的多继承,可以通过接口来实现, 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。

三,访问修饰符protected

1,可以修饰属性和方法,

2,本类、同包、子类可以访问

四,方法重写

1、在子类中可以根据需要对从基类中继承来的方法进行重写。

2、重写方法必须和被重写方法具有相同方法名称。参数列表和返回类型。

3、重写方法不能使用比被重写方法更严格的访问权限。(由于多态)

构造方法在重写不能被继承,因此不能重写

方法重写的规则:1, 方法名相同, 2, 参数列表相同, 3,返回值类型相同或者是其子类;,4, 访问权限不能严于父类。

super关键字来访问父类的成员

1,super只能出现在子类的方法和构造方法中

,2,super调用构造方法时,只能是第一句

,3,super和this不能同时出现在构造方法中

,4, super不能访问父类的private成员,

5, super和this都不能再static方法中

五,抽象类,抽象方法。

  1、创建抽象类的时候需要添加 abstract 的关键字。
   2、不能进行实例化,也就是不能new对象。
  3、抽象类中的某些方法需要子类进行更丰富的实现,父类实现没有意义,此时可以将抽象类中的方法定义为抽象方法,没有具体的实现,只包含方法名称,返回值,参数列表,访问修饰符。
 4、使用abstract关键字修饰的方法叫做抽象方法,可以不写方法的实现。
5、子类在继承抽象父类的时候,必须要将父类中的抽象方法进行实现或者将子类也定义为抽象类。
  6、有抽象方法的一定是抽象类,但是抽象类中不一定包含抽象方法。

六,fianl的使用:1,final可以修饰变量,。2,表示变量的值不可变。3, final可以修饰方法。4,表示方法不可以被重写。5,final可以修饰类:6,表示类不可以被继承。

七,Object类

Object类是所有类的父类,:1, 一个类如果没有使用extends显性的继承另外一个类,那么这个类就继承自Object类,2,源码解析(涉及到Object中常用的10个方法):getClass()、hashCode()、equals(Object)、clone()、toString()、notify()、notifyAll()、wait()、wait(long)、wait(long,int)

对象的比较—==和equals()

1、==:

        ---- 比较两基本类型变量的值是否相等。

        ---- 比较两个引用类型的值即内存地址是否相等,即是否指向同一对象。

2、equals() :两对象的内容是否一致.

3、自定义类须重写equals(),否则其对象比较结果总是false。通过阅读Object源码可知,equals()方法的实现是用==完成的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值