这三个Java基础知识点你一定要了解一下

举报
周杰伦本人 发表于 2022/11/29 17:44:16 2022/11/29
【摘要】 这三个Java基础知识点你一定要了解一下我们往往关注业务的开发,有时候甚至不在乎Java基础知识了,有些同学在简历写具有扎实的Java基础,但真正被问到的时候却含糊其辞,这篇文章带你梳理一下Java的一些知识点。 this指针this关键字是什么含义呢?一开始接触Java的时候一直不理解this,this其实指的是当前对象,它是当前对象的引用,我们可以使用this指针来调用构造器如下面的代...

这三个Java基础知识点你一定要了解一下

我们往往关注业务的开发,有时候甚至不在乎Java基础知识了,有些同学在简历写具有扎实的Java基础,但真正被问到的时候却含糊其辞,这篇文章带你梳理一下Java的一些知识点。

this指针

this关键字是什么含义呢?一开始接触Java的时候一直不理解this,this其实指的是当前对象,它是当前对象的引用,我们可以使用this指针来调用构造器

如下面的代码所示:

public class Xpp {
  String s = "1";

  Xpp(int petals) {
      petalCount = petals;
  }
  
  Xpp(String s, int petals) {
    this(petals);
    this.s = s;
  }
  
}
  

下面的构造方法可以通过this指针来构造第一个构造方法,但是使用this指针调用构造方法的时候,只能调用一个构造器。第二个方法在先调用构造器在进行其他的操作

除此以外,this指针的另一个作用就是区分成员变量和参数变量,比如我们这个类中有个成员变量s,在Xpp类的第二个构造方法中有个参数变量s,那么我们就可以使用this指针来修饰,this.s = s这行代码的意思就是把参数变量的s值赋值给成员变量,this指针后面跟的是成员变量的s

static

static修饰的方法是在没有创建对象的时候,通过类自身来调用。被static修饰的静态方法中不同调用非静态的方法,非静态的方法可以调用静态方法。

finalize()方法

finalize()方法是Object类提供的方法,这个方法你可能不太熟悉,但是你如果看过面试题的话你就肯定见过,因为有一道经典的面试题就是final finally finalize()有什么不同,那么finalize()方法到底是干什么的呢?它其实是在垃圾回收之前进行一些清理工作,当垃圾收集确定不再有对该对象的引用时,由对象上的垃圾收集器调用。子类覆盖的 finalize()方法来处理系统资源或执行其他清理。 finalize()方法的通常目的是在对象被不可撤销地丢弃之前执行清理操作。例如,表示输入输出连接的对象的 finalize() 方法可能会在对象被永久丢弃之前断开连接。

但是清理工作我们一般不使用finalize()方法,因为垃圾回收器不一定回收这个对象,这样finalize()方法就得不到调用

当我们做一些在对象回收前的判断工作的时候,可以重写finalize()方法来实现。

总结

这篇文章我们讲了Java的三个基础的知识点,this指针、静态方法和finalize()方法,this指针是当前对象的引用,可以调用构造方法,也可以修饰成员变量区分参数变量,静态方法是没有对象通过类对象来执行,finalize()方法是进行垃圾回收之前的调用,一般不使用这个方法,因为不确定是否进行垃圾回收。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。