理解this指针的好例子

原创 2007年09月26日 16:24:00

 看代码说话,先来个简单的。

public class Wealthy
{
    
public String answer = "Yes!";
    
public void wantMoney()
    
{
       String answer 
= "No!";
       System.out.println(
"Do you want to give me $1,000,000? > " +
       answer);
       System.out.println(
"Would you like $1,000,000? > " +
       
this.answer);
    }

    
public static void main(String[] args)
    
{
       Wealthy w 
= new Wealthy();
       w.wantMoney();
    }

}


运行结果:
Do you want to give me $
1,000,000? > No!
Would you like $
1,000,000? > Yes!

再来个复杂点的。

public class ThisPoint {
    
public static void main(String[] args) {
        A b 
= new B();
        b.fb();
    }

}


class A {
    
public A() {

    }


    
public void fa() {
        System.out.println(
"CLASS A :Function fa Runing......");
    }


    
public void fb() {
        System.out.println(
"CLASS A :Function fb Runing......");
        fa();
        System.out.println(
"CLASS A :Function fb Stop......");
    }

}


class B extends A {
    
public B() {
    }


    
public void fa() {
        System.out.println(
"CLASS B :Function fa Runing......");
    }


    
public void fb() {
        System.out.println(
"CLASS B :Function fb Runing......");
        
super.fb();
        System.out.println(
"CLASS B :Function fb Stop......");
    }

}


运行结果:
CLASS B :Function fb Runing......
CLASS A :Function fb Runing......
CLASS B :Function fa Runing......
CLASS A :Function fb Stop......
CLASS B :Function fb Stop......

 能看出运行结果说明对this的理解就可以了。

谈谈基类与子类的this指针(C++)

记得孙鑫VC++视频教程里有一段剖析MFC的代码,大意就是 CTESTAPP类是CWINAPP的子类,而CTESTAPP创建一个全局对象时,在CWINAPP的构造函数里面用了this指针,但是这里th...
  • ningyaliuhebei
  • ningyaliuhebei
  • 2014年12月31日 10:49
  • 3771

this指针的用法和含义

(1)this指针的含义及其用法:  1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。 2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给...
  • cherish_2012
  • cherish_2012
  • 2014年03月13日 17:58
  • 2110

c++中this指针的用法详解

为什么引入this指针?     最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个...
  • u011939264
  • u011939264
  • 2016年05月31日 11:15
  • 4242

C++ this指针的理解

  • 2010年05月13日 01:11
  • 24KB
  • 下载

C++ this指针的理解.docx

  • 2013年04月16日 13:49
  • 16KB
  • 下载

帮助理解this用法的几个例子

真正去解释this这个东西的时候,才发现不是这么简单,花了一些时间,写了几个小demo,让我们来一探究竟。恩,以人为镜,可知得失,看来这句话是很有道理的。 如果是一个全局的function,则t...
  • u012169411
  • u012169411
  • 2013年12月04日 22:31
  • 519

C++中this指针的理解和用法

关于this指针的一个精典回答: 当你进入一个房子后, 你可以看见桌子、椅子、地板等, 但是房子你是看不到全貌了。 对于一个类的实例来说, 你可以看到它的成员函数、成员变量, 但是实例本身呢? thi...
  • xiaohaijiejie
  • xiaohaijiejie
  • 2016年06月30日 09:23
  • 11568

C++中this指针的理解

首先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型...
  • ljianhui
  • ljianhui
  • 2012年07月14日 14:31
  • 1689

关于C++类中*this指针的理解

先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可...
  • GUI1259802368
  • GUI1259802368
  • 2017年04月04日 17:32
  • 252

C++中this指针的理解及用法

关于this指针有一个经典的解释 当我们在进入一个房子之后,可以看见房子里的桌子,椅子、地板等,但是看不到房子的全貌。对于一个类的实例来说,你可以看到它的成员函数、成员变量,但是实例本身呢?this...
  • lishitao_578
  • lishitao_578
  • 2017年06月02日 22:39
  • 87
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:理解this指针的好例子
举报原因:
原因补充:

(最多只允许输入30个字)