iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java中什么时候用this?
  • 764
分享到

java中什么时候用this?

java教程javathis 2022-04-17 17:04:29 764人浏览 才女
摘要

this只存在于方法内部,用来代表调用改方法的对象。可以理解为每一个方法内部都有一个局部变量叫this,每当初始化一个对象时,就把该对象的地址传递给了该对象每一个方法中的this变量,从而可以在方法内部使用这个的对象。java中什么时候用t

this只存在于方法内部,用来代表调用改方法的对象。可以理解为每一个方法内部都有一个局部变量叫this,每当初始化一个对象时,就把该对象的地址传递给了该对象每一个方法中的this变量,从而可以在方法内部使用这个的对象。

java中什么时候用this?

1、当局部变量和成员变量重名的时候,在方法中使用this表示成员变量以示区分

实例:

class Demo{
    String str = "这是成员变量";
    void fun(String str){
        System.out.println(str);
        System.out.println(this.str);
        this.str = str;
        System.out.println(this.str);
    }
}
public class This{
    public static void main(String args[]){
        Demo demo = new Demo();
        demo.fun("这是局部变量");
    }
}

2、this关键字把当前对象传递给其他方法

实例:

class Person{
    public void eat(Apple apple){
        Apple peeled = apple.getPeeled();
        System.out.println("Yummy");
    }
}
class Peeler{
    static Apple peel(Apple apple){
        //....remove peel
        return apple;
    }
}
class Apple{
    Apple getPeeled(){
        return Peeler.peel(this);
    }
}
public class This{
    public static void main(String args[]){
        new Person().eat(new Apple());
    }
}

3、当需要返回当前对象的引用时,就常常在方法写return this

这种做法的好处是:当你使用一个对象调用该方法,该方法返回的是经过修改后的对象,且又能使用该对象做其他的操作。因此很容易对一个对象进行多次操作。

public class This{
    int i = 0;
    This increment(){
        i += 2;
        return this;
    }
    void print(){
        System.out.println("i = " + i);
    }
    public static void main(String args[]){
        This x = new This();
        x.increment().increment().print();
    }
}
结果为:4

4、在构造器中调用构造器需要使用this

一个类有许多构造函数,有时候想在一个构造函数中调用其他构造函数,以避免代码重复,可以使用this关键字。

1574059252(1).jpg

推荐教程:Java教程

--结束END--

本文标题: java中什么时候用this?

本文链接: https://www.lsjlt.com/news/4445.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中什么时候用this?
    this只存在于方法内部,用来代表调用改方法的对象。可以理解为每一个方法内部都有一个局部变量叫this,每当初始化一个对象时,就把该对象的地址传递给了该对象每一个方法中的this变量,从而可以在方法内部使用这个的对象。java中什么时候用t...
    99+
    2022-04-17
    java教程 java this
  • java什么时候用this
    this只存在于方法内部,用来代表调用改方法的对象。可以理解为每一个方法内部都有一个局部变量叫this,每当初始化一个对象时,就把该对象的地址传递给了该对象每一个方法中的this变量,从而可以在方法内部使用这个的对象。第一种情况 ...
    99+
    2017-01-02
    java入门 java
  • java中this关键字什么时候使用
    1、当局部变量和成员变量重名的时候,在方法中使用this表示成员变量以示区分实例:class Demo{ String str = "这是成员变量"; void fun(String str){ System...
    99+
    2019-10-24
    java this 关键字 使用
  • java中什么时候使用static
    什么时候使用:当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用。不足之处:初始化加载,比较占内存,所以不经常用的方法,不建议...
    99+
    2017-08-26
    java static 使用
  • java中什么时候使用事务
    什么时候使用事务?如果实际的业务中,需要将一条数据同时存放到两张表中, 并且要求两张表中的数据同步,那么此时就需要使用事务管理机制,保证数据同步。如果出现错误情况,比如表一插入数据成功,表二插入数据失败,那么就回滚,终止数据持久化操作。金融...
    99+
    2016-07-06
    java教程 java 使用 事务
  • java什么时候出的
    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 (推荐学习:java课程)Java语言作为静态...
    99+
    2020-09-18
    java入门 java
  • java什么时候触发gc
    java什么时候触发gc一、内存回收策略和常见概念常见内存回收策略可以从以下几个维度来理解:1 串行&并行 串行:单线程执行内存回收工作。十分简单,无需考虑同步等问题,但耗时较长,不适合多cpu。并行:多线程并发进行回收工作。适合多CPU,...
    99+
    2022-02-03
    java基础 java 触发gc gc
  • java什么时候用到多线程
    Java 在以下情况下可以使用多线程:1. 当需要同时执行多个任务时,可以使用多线程提高程序的并发性和执行效率。2. 当需要处理输入...
    99+
    2023-09-15
    java
  • es6中promise什么时候用
    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了...
    99+
    2022-11-22
    javascript promise ES6
  • java中什么时候不用写注释代码
    这篇文章主要介绍“java中什么时候不用写注释代码”,在日常操作中,相信很多人在java中什么时候不用写注释代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中什么时候不用写注释代码”的疑惑有所帮助!...
    99+
    2023-06-17
  • java类在什么时候加载
    类什么时候加载类的加载是通过类加载器(Classloader)完成的,它既可以是饿汉式[eagerly load](只要有其它类引用了它就加载)加载类,也可以是懒加载[lazy load](等到类初始化发生的时候才加载)。 ...
    99+
    2016-03-31
    java入门 java
  • Java消息队列什么时候使用
    本篇内容主要讲解“Java消息队列什么时候使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java消息队列什么时候使用”吧!何时需要消息队列当你需要使用消息队列时,首先需要考虑它的必要性。可以...
    99+
    2023-06-04
  • win10什么时候上线 win10什么时候推出
    北京时间10月1日消息,微软公司今天在旧金山发布了自己的最新产品win10,直接跳过了win9,那么win10什么时候上线?win10什么时候出?一起来跟小编看一下吧。 现在还没有Windows 10系统发布的准确时间...
    99+
    2023-06-07
    win10
  • Java中什么时候会用到全屏幕模式
    小编给大家分享一下Java中什么时候会用到全屏幕模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么时候会用到全屏幕模式?  也许用到的机会很少,但j...
    99+
    2023-06-03
  • Java类的加载时机是什么时候
    本篇内容主要讲解“Java类的加载时机是什么时候”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java类的加载时机是什么时候”吧!必须初始化的四种情况有四种情况类是必须要进行初始化的,对于这四种...
    99+
    2023-06-25
  • Java匿名内部类在什么时候用
    Java匿名内部类通常在以下情况下使用:1. 当一个类只需要使用一次,并且这个类没有名字,可以使用匿名内部类来实现。这样可以避免创建...
    99+
    2023-08-15
    Java
  • java移位运算符在什么时候用
    Java移位运算符用于对一个数的二进制位进行移动。它们通常在以下情况下使用:1. 位运算:移位运算符可用于对整数进行位运算,如按位与...
    99+
    2023-08-29
    java
  • 什么时候使用flags
    这篇文章主要讲解了“什么时候使用flags”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么时候使用flags”吧!   Possible flags:(...
    99+
    2022-10-19
  • 浅谈java什么时候需要用序列化
    目录一、Java序列化概述二、什么时候用序列化?三、项目创建很多对象怎么优化?优化思路一:加条件判断优化思路二:使用clone浅拷贝一、Java序列化概述 简单说就是为了保存在内存中...
    99+
    2023-01-18
    java 序列化 
  • Vue中什么是JSX?什么时候用?怎么用?
    Vue中什么是JSX?下面本篇文章给大家了解一下Vue中的JSX,介绍一下什么时候使用JSX、在Vue2中的基本使用,希望对大家有所帮助!JSX简介JSX是一种Javascript的语法扩展,即具备了Javascript的全部功能,同时又兼...
    99+
    2023-05-14
    JSX 前端 Vue.js JavaScript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作