首页 > 编程语言 >Java面向对象之关键字this

Java面向对象之关键字this

时间:2024-08-24 11:51:17浏览次数:10  
标签:Java ThisExample 构造方法 关键字 int age 面向对象 public size

文章目录

一: this关键字定义

  • 在Java中,this是一个特殊的引用变量,它引用当前对象本身。
  • 在类的内部,可以使用this来引用对象的当前实例的变量和方法

二:this关键字主要用途

2.1区分成员变量和局部变量
public class ThisExample {  
    private int x; // 成员变量  
  
    public ThisExample(int x) {  
        this.x = x; // 使用this引用成员变量x,并将参数x的值赋给成员变量x  
    }  
  
    public void printX() {  
        System.out.println("Value of x: " + this.x); // 使用this引用成员变量x  
    }  
}

2.2在构造方法中引用其他构造方法通过this()
package chapter6;

public class ThisExample {

    private int age;
    private int size;

    public ThisExample(int age){

        this(age,160);
    }

    public ThisExample(int age,int size){
        this.age = age;
        this.size = size;
    }

    public void printAge(){
        System.out.println("printAge方法的打印:"+ age);

    }

    public void printAgeAndSize(){
        System.out.println("printAgeAndSize方法的打印:" + age + "-----" + size);

    }

    public static void main(String[] args) {
        ThisExample thisExample = new ThisExample(10,170);
        thisExample.printAge();
        thisExample.printAgeAndSize();
    }
}


//运行结果
//printAge方法的打印:10
//printAgeAndSize方法的打印:10-----170

三:总结

  • this不能在静态方法中使用,因为静态方法不属于类的任何实例。
  • this引用的是当前对象的内存地址,而不是它的值。
  • this只能在构造方法或实例方法中使用,不能在类方法中(静态方法)使用。
  • 如果在构造方法中没有显式地使用this来调用另一个构造方法,则会自动调用无参数的构造方法(如果存在)
  • 但如果在构造方法中已经使用了this()来调用另一个构造方法,则不能再调用另一个构造方法或默认构造方法。

标签:Java,ThisExample,构造方法,关键字,int,age,面向对象,public,size
From: https://blog.csdn.net/weixin_44348521/article/details/141496977

相关文章

  • ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南
    目录全面掌握:JavaScript解构赋值的终极指南一、数组解构赋值1、基本用法2、跳过元素3、剩余元素4、默认值二、对象解构赋值1、基本用法2、变量重命名3、默认值4、嵌套解构三、复杂的嵌套结构解构四、函数参数解构赋值1、对象解构作为函数参数2、带有默认值的函......
  • 【Java 基础篇】Java Stream 流详解
    原文地址:https://blog.51cto.com/techfanyi/7716839JavaStream(流)是Java8引入的一个强大的新特性,用于处理集合数据。它提供了一种更简洁、更灵活的方式来操作数据,可以大大提高代码的可读性和可维护性。本文将详细介绍JavaStream流的概念、用法和一些常见操作。什么是Stream流?......
  • Java引用类型与WeakHashMap
    Java中的引用类型强引用:直接引用,只要强引用存在就不回收软引用:描述一些非必须得对象,内存不足时可能会回收弱引用:下一次GC扫描到就会回收虚引用:用于在对象回收后执行清理操作,与引用队列配合使用虚引用在创建时可以指定引用队列在被回收之后可以通过队列判断回收......
  • 哈夫曼树和哈夫曼编码详解(包含Java代码实现)
    目录什么是哈夫曼树?如何构造哈夫曼树?构造过程代码实现哈夫曼树的结构构建哈夫曼树并计算WPL值测试代码什么是哈夫曼编码?如何构建哈夫曼编码?构建过程代码实现什么是哈夫曼树?哈夫曼树又称为最优树,是一类带权路径长度最短的树,在实际中有着广泛的应用。介绍哈夫曼树......
  • java 查询数据库并生成多层children
    首先,定义一个表示组织结构的简单类:publicclassOrganization{privateintid;privateintparentId;privateStringname;privateList<Organization>children;//省略构造函数、getter和setter}然后,编写一个方法来查询数据库并构建多层嵌套的......
  • 在Java中常见的池化技术
    什么是池化技术池化技术的原理可以用一个生活中的比喻来理解。 想象有一个图书馆,里面有很多人需要借书和还书。如果没有任何管理措施,每次有人借书时,图书馆管理员都要去仓库找一本新的书拿出来给读者,等读者还书时,管理员又要把书放回仓库。这样的过程非常耗时耗力,而且仓库里......
  • 基于Java+Vue的采购管理系统:提高决策效率(项目代码)
        前言:采购管理系统是一个综合性的管理平台,旨在提高采购过程的效率、透明度,并优化供应商管理。以下是对各个模块的详细解释:一、供应商准入供应商注册:供应商通过在线平台进行注册,填写基本信息和资质文件。资质审核:系统对供应商提交的资质文件进行自动或人工审核,确保......
  • 009java jsp SSM springboot月度员工绩效考核管理系统绩效指标管理(源码+文档+PPT+任务
     项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:window......
  • 015java jsp SSM springboot在线视频课程教育学习平台系统(源码+文档+PPT+开题+运行视
     项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:window......
  • Java 12 新特性—Switch 表达式
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......