【Java this关键字】如何使用以及注意点 访问成员变量,访问成员方法,构造方法内调用构造方法

简介: 【Java this关键字】如何使用以及注意点 访问成员变量,访问成员方法,构造方法内调用构造方法


⭐ this 关键字的作用

在 Java 中,this指针是一个 关键字 ,它用于引用当前对象🤲。当方法的参数和对象的字段具有相同的名称时,this关键字可以用于 标识 哪个变量是指对象的字段,哪个是方法的参数

📃 具体来说,当使用this时,它指的是当前对象的引用。

⭐ this 注意点

☆ this 在 Java 中并不是指针的意思

☆ this在这里只是一个简单的指向作用,谁调用它,就指向谁

☆ 一般来说 Java 程序中 如果方法的参数与类成员变量重名,希望在方法内部调用成员变量,怎么办呢,这时候就要使用this关键字,若方法参数不与当前类成员变量重名时,则可以省略 this ,不过为了增强代码可读性,建议方法参数与被调用多个成员变量名称相同,即使用 this 。

⭐ this 用法

⭐ Java 中的 this 必须放在非静态方法内, this 代表自身, 在 Java 程序内用法主要有以下几种用法

1. 访问成员变量
this.data;
2. 访问成员方法
this.function();
3. 使用this在构造方法内引用其它构造方法
this();

访问成员变量

public class DefaultClass {
  String name;
  int age;
  String address;
  // 构造方法
  public DefaultClass(String name, int age, String address) { // java构造方法:给重要属性赋初始值
    this.name = name;
    this.age = age;
    this.address = address;
  }
  // get方法
  public String getName() {
    return this.name;
  }
  // set方法
  public void setName(String name) {
    this.name = name;
  }
}

访问成员方法

public class DefaultClass {
  // 方法1
  public void default1() {
    System.out.println("我是方法1");
  }
  // 方法2
  public void default2() {
    // this访问方法1
    this.default1();
    // 这里的this可省略,效果一样
    // Default1(); 
  }
}

在构造方法内调用构造方法

public class DefaultClass {
  String name;
  // 无参构造器
  public DefaultClass() {
    System.out.println("我是无参构造器");
  }
  // 有参数的构造方法
  public DefaultClass(String names) {
    // 调用无参构造fangfa
    this();
    this.name = name;
    System.out.println("我是有参数构造器");
  }
  // get方法
  public String getName() {
    System.out.println("姓名为:", name);
  }
  // 程序入口函数
  public static void main(String[] args) {
    // 类实例化
    DefaultClass d = new DefaultClass();
    d.DefaultClass("dongfang_project");
    d.getName();
  }
}

不出意外的话程序输出

我是无参构造器
我是有参数构造器
姓名为:dongfang_project

注意: 只能在构造方法中使用this()调用其他的构造方法,在构造方法中使用this()调用构造方法的语句必须位于当前构造函数的第一行,只能出现一次, 不能在一个类中的两个构造方法中使用this()互相调用

目录
打赏
0
0
0
0
8
分享
相关文章
|
5月前
|
Volatile关键字与Java原子性的迷宫之旅
通过合理使用 `volatile`和原子操作,可以在提升程序性能的同时,确保程序的正确性和线程安全性。希望本文能帮助您更好地理解和应用这些并发编程中的关键概念。
111 21
|
3月前
|
深入理解 Java 中的 instanceof 关键字
本文深入解析了 Java 中的 `instanceof` 关键字,探讨其在类型判断中的作用。作为二元操作符,`instanceof` 可用于检查对象是否为某类实例或实现特定接口,避免类型转换异常 (`ClassCastException`)。文章通过多态性下的类型判断、安全类型转换、接口实现检测及集合元素类型判定等实际应用场景,展示了 `instanceof` 的强大功能。掌握该关键字可提高代码健壮性,确保运行时类型安全。
157 0
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
Java对象创建和访问
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
|
4月前
|
java构造方法,构造代码块,静态代码块的执行顺序
本文介绍了Java中构造方法、构造代码块和静态代码块的执行顺序。静态代码块用`static`声明,在JVM加载类时执行一次;构造代码块在每次创建对象时执行,先于构造方法;构造方法用于对象初始化,创建对象时调用。示例代码展示了这三者的输出顺序,并解释了它们的区别和应用场景。
135 1
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
108 13
Java访问MongoDB
Java访问MongoDB
68 21
|
8天前
|
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
46 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等