`
suuu
  • 浏览: 16918 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

this关键字

 
阅读更多

一、使用this调用成员变量和成员函数

看下面代码:

Dog.java:

 

public class Dog {

void xx(){
		System.out.println (this.name+this.age+"岁了");
    }
    String name;
    int age;
}

 

 

DogTest.java:

 

 class DogTest{
 	public static void main (String[] args) {
 		Dog dog1 = new Dog();
 		Dog dog2 = new Dog();

		dog1.name = "来福";
		dog1.age = 3;

		dog2.age= 2;
		dog2.name = "旺财";


 		dog1.xx();
 		dog2.xx();
	 }
 }

  
输出结果:

来福3岁了
旺财2岁了

 

 

当类中存在成员变量和参数列表时,若不加this关键字,则系统不知道该输出成员变量的name还是参数列表的name。

如下例子:

Dog.java:

 

public class Dog {
    String name;
    int age;
void xx(String name,int age){
		System.out.println (name+age+"岁了");
    }

}

 

 DogTest.java:

 

 class DogTest{
 	public static void main (String[] args) {
 		Dog dog1 = new Dog();
 		Dog dog2 = new Dog();

		dog1.name = "来福";
		dog1.age = 3;

		dog2.age= 2;
		dog2.name = "旺财";


 		dog1.xx("来福来福",5);
 		dog2.xx("旺财旺财",6);
	 }
 }

  输出:

来福来福5岁了
旺财旺财6岁了

 

解析:当类中存在成员变量和参数列表时,若没有this关键字,则系统会以为当前打印的name是参数列表里的name。

 

二、使用this调用构造函数 

 

例子:

Dog.java:

 

public class Dog {
    String name;
    int age;
    String color;

    Dog(){
    }
    Dog(String name,int age){
    	/**
		 *下面的参数都是赋值给成员变量的
		 **/
		this.name = name;
		this.age = age;
    }
	Dog(String name,int age,String color){
		/**
		 *这里体现了this的另外一个用途:调用同一个类当中另外一个构造函数
		 *至于调用哪一个构造函数,就根据this后面的参数类型和个数来决定
		 **/

		//这条语句必须放在第一
		this(name,age);
		this.color = color;
    }
	void xx(){
		System.out.println (color+"的"+name+age+"岁了");
	}
}

 

DogTest.java:

 

 class DogTest{
 	public static void main (String[] args) {
 		Dog dog1 = new Dog("旺财",2,"黄色");
 		Dog dog2 = new Dog("来福",3,"黑色");
 		dog1.xx();
 		dog2.xx();

	 }
 }

  输出:

黄色的旺财2岁了
黑色的来福3岁

 

解析:在Dog.java中.定义了3个构造函数,this关键字可调用同一类中的另外一个构造函数.若想同时调用两个构造函数,则

 

public class Dog {
    String name;
    int age;
    String color;

    Dog(){
    }
    Dog(String name,int age){
		this();
		this.name = name;
		this.age = age;
    }
	Dog(String name,int age,String color){

		this(name,age);
		this.color = color;
    }
	void xx(){
		System.out.println (color+"的"+name+age+"岁了");
	}
}

 因为this();和this(name,age);都必须放在第一。

 

分享到:
评论

相关推荐

    23.this关键字.zip

    23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字...

    asp.net this关键字.txt

    ### ASP.NET中的this关键字 在ASP.NET开发过程中,`this`关键字是一个非常重要的概念,它在类的方法或构造函数中有着特殊的意义与用途。本文将详细介绍`this`关键字的用法及其背后的原理。 #### `this`关键字概述 ...

    MLDN魔乐JAVA_09深入引用、this关键字、对象比较.rar

    本课程“MLDN魔乐JAVA_09深入引用、this关键字、对象比较”将带你深入探讨这些核心概念。 首先,让我们来讨论“引用”。在Java中,变量可以分为基本类型和引用类型。引用类型变量实际上存储的是对象在内存中的地址...

    java中带有this关键字的程序内存分析

    在Java编程语言中,`this`关键字是一个非常重要的概念,它在程序的内存管理中扮演着关键角色。本文将深入探讨`this`关键字在Java程序中的应用,以及它如何与内存分配相关联。 首先,`this`关键字在Java中主要表示...

    this关键字共2页.pdf.zip

    【标题】: "this关键字共2页.pdf.zip" 指的是一份关于Java编程语言中的关键字"this"的文档,可能包含两页详细讲解。这个压缩文件很可能提供了"this"关键字的基础概念、用法以及在实际编程中的应用示例。 【描述】: ...

    Java中this关键字使用小结

    在 Java 编程语言中,`this` 关键字是一个非常重要的概念,它用来引用当前对象的实例。本文将深入探讨 `this` 关键字的三种主要用途,并通过实例代码来解析其工作原理。 首先,`this` 关键字的基本含义是引用当前...

    JavaScript中this关键字使用方法详解

    在JavaScript编程语言中,`this`关键字是一个至关重要的概念,它常常引发初学者的困惑,因为它的值在不同的上下文中可能会有所不同。`this`关键字主要用来引用对象的上下文,或者说是当前执行环境中的对象。在本文中...

    Java零基础-this关键字.md

    ### Java零基础-this关键字 #### 内容概要 本文主要介绍了Java编程语言中的`this`关键字及其在不同场景下的应用。通过本文的学习,初学者能够深入理解`this`关键字的作用,掌握其在实例方法、构造方法及内部类中的...

    Java软件开发实战 Java基础与案例开发详解 5-7 this关键字 共5页.pdf

    ### Java软件开发实战:Java基础与案例开发详解之this关键字 #### 一、this关键字概述 在Java编程中,`this`关键字是一个非常重要且实用的概念。`this`关键字主要用于引用当前对象实例,使得开发者能够在方法内部...

    this关键字的用法.pdf

    1. **this关键字的含义** `this`关键字在Delphi中代表了正在执行方法的那个对象实例。当在一个类的方法内,我们需要引用到当前对象的属性或方法时,`this`就起到了指针的作用,指向调用该方法的对象实例。通过`this...

    深入理解JavaScript中的this关键字

    JavaScript中的`this`关键字是编程过程中经常会遇到的一个关键概念,尤其在面向对象编程中起着至关重要的作用。`this`的值取决于它被调用时的上下文,而不是定义时的位置,这使得它有时会显得有些复杂。在这个深入...

    一步一步学JAVA(第四课 方法、值传递、this关键字).docx

    "一步一步学JAVA(第四课 方法、值传递、this关键字)" 本资源主要介绍了Java语言中的方法、值传递和this关键字的使用。通过实例代码和详细的解释,读者可以了解Java方法的声明和调用方式、值传递的机制和this关键字...

    this关键字的用法和类的创建

    最基本的程序,适用于初学者!我是在做第一个项目中写的这几个小的demo,供和我一样刚入门的人学习

    this关键字的总结.doc

    ### Java中的this关键字详解 #### 一、概述 在Java编程语言中,`this`关键字是一种非常实用且灵活的关键字,它主要用于指代当前对象。`this`可以在类的内部被使用,帮助开发者清晰地表达代码逻辑,尤其是在解决...

    第04章 面向对象(上) 07 This关键字

    1. this关键字的含义: "this"关键字在Java中代表当前对象的引用。在方法或构造器内部,当需要区分局部变量与成员变量,或者明确表示当前对象时,"this"就显得非常有用。它始终指向调用该方法或构造器的对象实例。 ...

    【Java编程教程】详解Java this 关键字.pdf

    // 使用this关键字区分实例变量和构造函数参数 this.rollno = rollno; this.name = name; this.fee = fee; } void display() { System.out.println(rollno + " " + name + " " + fee); } } ``` 2. 调用...

    深入理解java中this关键字的使用

    深入理解Java中this关键字的使用 this关键字是Java中一个非常重要的关键字,它主要用于表示当前对象的引用,通过this关键字可以访问当前对象的成员变量和成员方法。在Java中,this关键字有多种用法,以下我们将详细...

    类和对象,this关键字和构造方法

    ### 类和对象,this关键字和构造方法 #### 一、类和对象的概念 在面向对象编程(OOP)中,“类”与“对象”是最基本也是最重要的概念。 1. **类**: - 类是一种抽象的数据类型,用来描述具有相同属性和行为的...

    Java this 关键字的使用方法详解

    Java this 关键字的使用方法详解 Java this 关键字是 Java 语言中一种特殊的引用变量,用于指代当前对象的引用。this 关键字的使用方法可以分为四种:构造方法中的 this、非构造方法中的 this、继承关系下的 this ...

Global site tag (gtag.js) - Google Analytics