java的基础继承

java的基础继承虽然说 java 中的面向对象的概念不多 但是具体的细节还是值得大家学习研究 java 中的继承实际上就是子类拥有父类所有的内容 除私有信息外 并对其进行扩展 下面是我的笔记 主要包含以下一些内容点 构造方法 重写和重载 final 关键字 new 的背后 内存分析 理解方法调用 一 构造方法 正如我们所知道的 构造方法的方法名与类名相同 主要的作用是实现对实例对象的初始化工作

大家好,我是讯享网,很高兴认识大家。



虽然说java中的面向对象的概念不多,但是具体的细节还是值得大家学习研究,java中的继承实际上就是子类拥有父类所有的内容(除私有信息外),并对其进行扩展。下面是我的笔记,主要包含以下一些内容点:

  • 构造方法
  • 重写和重载
  • final关键字
  • new的背后(内存分析)
  • 理解方法调用

一、构造方法
    正如我们所知道的,构造方法的方法名与类名相同,主要的作用是实现对实例对象的初始化工作,实际上每个子类的构造方法中的第一行默认是调用了父类的构造函数,而父类继续向上调用直至Object类,然后返回。

 
讯享网 
讯享网

当然,super这个关键字还有第二个作用,显式调用父类方法(不只是构造方法,普通实例方法也是可以直接调用的)。

 

讯享网

为什么要这么做呢?因为不是每个实例对象都需要传所有的参数,例如,大家在注册账号时候,有些是必填的信息,有的是可选填的,这样不同的人在注册时就会调用不同的构造函数,这样调用参数多的构造方法就没必要再为每个变量赋值,可以使用this调用其他的构造方法,减轻代码的冗余程度。

二、重载和重写
    下面说说方法的重载和重写的区别。首先大家需要了解什么是方法的签名,方法的名字和参数列表叫做方法的签名。方法的重载就是指两个或以上具有相同方法名但方法的参数存在某些差异的方法之间的这种关系叫做方法的重载。
    所谓方法的参数列表的差异,主要是参数的类型差异和参数的个数差异。

 

如上所示,1和2肯定不会构成重载,构成重载的前提是具有相同的方法名,1和3和4和5构成函数重载,他们之间要么参数类型不同,要么参数个数不同。

    函数的重载可能和继承关系并不大,但方法的重写和继承关系密切。方法的重写就是指两个方法之间具有相同的签名,也就是两个方法一模一样,只是一个出现在父类中一个出现在子类中

 
 

三、final关键字
    final关键字既可以修饰类也可以修饰方法,也能修饰变量,但是具有不同的意义。被final修饰的类表示为java的基础继承不可继承特性,不允许子类继承,也就是不让子类再对其进行扩展。例如,jdk中的String类就是被final修饰的,不可变类有很多好处,譬如它们的对象是只读的,可以在多线程环境下安全的共享,不用额外的同步开销等等。
    被final修饰的方法表示此方法在被子类继承之后是不允许重写的,例如有些方法不希望被子类重写修改就可以使用final修饰他,在java中常量也是使用final来修饰的,例如:public final String name;,此变量一旦被赋值就不能再改变其内容了。

小讯
上一篇 2024-12-29 19:55
下一篇 2024-12-24 14:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/10808.html