博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java面向对象编程(三)--this
阅读量:5304 次
发布时间:2019-06-14

本文共 1095 字,大约阅读时间需要 3 分钟。

看一段代码:(Demo112.java),先了解为什么要使用this。

/*    this的必要性*/public class Demo112{    public static void main(String []args){        Dog dog1=new Dog(2,"大黄");        Person p1=new Person(dog1,23,"刚子");        Person p2=new Person(dog1,24,"小龙");        p1.showInfo();            p1.dog.showInfo();    }}//定义一个人类class Person{    //成员变量    int age;    String name;    Dog dog;//引用类型
 
//人类的构造函数    public Person(Dog dog,int age,String name){        //如此书写可读性很差,不知道两个age哪个指参数列表中的,哪个指成员变量中的。         //age=age;        //name=name;
//引入this,让它指向当前对象。        this.age=age;   //this.age指定的是成员变量age        this.name=name; //this.name指定的是成员变量name        this.dog=dog;    }    //显示人名字    public void showInfo(){        System.out.println("人名是:"+this.name);    }}class Dog{    int age;    String name;    public Dog(int age,String name){        this.age=age;        this.name=name;    }    //显示狗名    public void showInfo(){        System.out.println("狗名叫"+this.name);    }}

从案例中看出,引入thsi是必要的。this是属于一个对象,不属于类的,但它不能在类定义的外部使用,只能在类定义的方法中使用。java虚拟机会给每个对象分配this,代表当前对象。

转载于:https://www.cnblogs.com/Davis812/p/3902918.html

你可能感兴趣的文章
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
多米诺骨牌
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
Attribute(特性)与AOP
查看>>
苹果手表:大方向和谷歌一样,硬件分道扬镳
查看>>
Competing Consumers Pattern (竞争消费者模式)
查看>>
Android面试收集录15 Android Bitmap压缩策略
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
ubuntu 安装后的配置
查看>>
web前端之路,js的一些好书(摘自聂微东 )
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>