一、使用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关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字.zip23.this关键字...
内容概要: 本文介绍了Java中的this关键字的用法和作用。读者将学习什么是this关键字以及它在实例方法、构造方法和内部类中的具体应用。此外,还将探讨this关键字与静态成员、方法参数和方法重载之间的关系。 能学...
this关键字的使用详细介绍:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它,但是到底“this”该怎么用,却心中无数!很多人一提起它,就说“当前对象”,可到底什么是当前对象,是什么当前对象,他自己也不...
MLDN魔乐JAVA_09深入引用、this关键字、对象比较.rar
最基本的程序,适用于初学者!我是在做第一个项目中写的这几个小的demo,供和我一样刚入门的人学习
想要下载此文件,请先下载本人“java程序中的内存分配问题”,因为那个例子比较简单而且分析详细透彻,可以使你更容易理解,如果你对java程序执行过程中的内存分配有一定的了解,可以直接下载本文件
java this关键字的使用包括代码及注释,适合初学者
this关键字共2页.pdf.zip
NULL 博文链接:https://wv1124.iteye.com/blog/505231
本次内容:1、020509_【第5章:面向对象基础】_this关键字;2、020509_【第5章:面向对象基础】_static关键字
NodeJS和浏览器中this关键字的不同之处 学习过JavaScript的人肯定清楚 处在不同环境下this的指向问题。那么看下面的代码 var type = 1 function toWhere(){ this.type = 2; } toWhere(); console.log(type)...
this关键字的总结.doc java this 关键字的总结
Java面向对象(进阶)-- this关键字的使用
this关键字的用法.pdf
NULL 博文链接:https://wv1124.iteye.com/blog/505236
详解Java this 关键字
类和对象,this关键字和构造方法。
Java语言中This关键字应用浅析,看完后帮助于JAVA中类的操作。