博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
this关键字
阅读量:5978 次
发布时间:2019-06-20

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

1.this调用当前类中的属性和方法;

class Book{    private String bName;    private double bPrice;    public Book(String bName,double bPrice){        /*            以下的代码中this.bName表示的是类中的bName属性,而后面的bName指的是            当前方法中的参数bName中的属性;        */        this.bName=bName;        this.bPrice=bPrice;        //此时this加或者不加都代表本类中的方法;        this.print();    }    public static void print(){        System.out.println("这个是本类中的方法");    }    public String getInfo(){                return "书名:" + this.bName + ",价格:" + this.bPrice;    }}public class Test{    public static void main(String args[]){            Book book = new Book("java",17.2);//默认调用构造方法;        System.out.println(book.getInfo());    }}

1.this表示构造方法;

class Emp{    private int empno;    private String ename;    private String job;    private double sal;    //下面定义四个构造方法;    public Emp(int empno){        this.empno = empno;        this.ename = "无名氏";        this.job = "无记录";        this.sal = 0;    }    public Emp(int empno, String ename){        this.empno = empno;        this.ename =  ename;        this.job = "后勤";        this.sal = 800.0;    }    public Emp(int empno, String ename,String job){        this.empno = empno;        this.ename =  ename;        this.job = job;        this.sal = 1000.0;    }    public Emp(int empno,String ename,String job,double sal){        this.empno = empno;        this.ename =  ename;        this.job = job;        this.sal = sal;    }    public String toString(){        return "编号:" + this.empno + ",姓名:" + this.ename + ",工作:" + this.job + ",工资:" + this.sal;    }}public class Test{    public static void main(String args[]){            Emp e_1 = new Emp(8888);        Emp e_2 = new Emp(7856,"小明");        Emp e_3 = new Emp(7666,"小红","web开发");        Emp e_4 = new Emp(7399,"smith","后端开发",150000.00);        System.out.println(e_1);        System.out.println(e_2);        System.out.println(e_3);        System.out.println(e_4);    }}

以上代买过于繁杂,我们可以通过this([参数],[参数],...)来对本类中的构造方法进行调用,但是在进行调用的时候应当保留一个构造方法不被其他构造方法调用,即保留一个出口

class Emp{    private int empno;    private String ename;    private String job;    private double sal;    //下面定义四个构造方法;    public Emp(int empno){        this(empno,"无名氏","无记录",0);    }    public Emp(int empno, String ename){        this(empno,ename,"后勤",800.0);    }    public Emp(int empno, String ename,String job){        this(empno,ename,job,1000.0);    }    public Emp(int empno,String ename,String job,double sal){        //在此构造方法中保留出口        this.empno = empno;        this.ename =  ename;        this.job = job;        this.sal = sal;    }    public String toString(){        return "编号:" + this.empno + ",姓名:" + this.ename + ",工作:" + this.job + ",工资:" + this.sal;    }}public class Test{    public static void main(String args[]){            Emp e_1 = new Emp(8888);        Emp e_2 = new Emp(7856,"小明");        Emp e_3 = new Emp(7666,"小红","web开发");        Emp e_4 = new Emp(7399,"smith","后端开发",150000.00);        System.out.println(e_1);        System.out.println(e_2);        System.out.println(e_3);        System.out.println(e_4);    }}

 this表示当前对象(重要),

class Print{    public void prin(){        System.out.println("this =  " + this);    } }public class Test{    public static void main(String args[]){            Print p1 = new Print();        System.out.println(p1);        p1.prin();//        Print p2 = new Print();        System.out.println(p2);        p2.prin();//    }}

运行结果:

Print@15db9742this =  Print@15db9742Print@6d06d69cthis =  Print@6d06d69c

  

转载于:https://www.cnblogs.com/hu1056043921/p/7274475.html

你可能感兴趣的文章
Laravel + Laravel-echo + EasyWeChat 实现微信扫码登录
查看>>
BAT程序员必备技能
查看>>
婚纱摄影广告要这么做,让看到的人会更幸福!
查看>>
Caddy
查看>>
Android 目前最稳定和高效的UI适配方案
查看>>
SpringCloud之Eureka
查看>>
Foobar 和 Fubar
查看>>
用Python完成毫秒级抢单,助你秒杀淘宝大单
查看>>
手写Spring---DI依赖注入(2)
查看>>
广州种植牙多少钱
查看>>
lin-cms-flask 0.1.0-beta.2 升级指南
查看>>
程序中方法调用的时间
查看>>
[译] part 29: golang defer
查看>>
python学习之数据类型
查看>>
通过Auto Layout和Size Classes深入了解UIStackView的好处和使用
查看>>
阿里百度腾讯常见java和安卓面试题汇总
查看>>
关于UI设计的一些工作了解
查看>>
spring cloud构建互联网分布式微服务云平台-Spring Cloud Config环境库
查看>>
java B2B2C Springcloud仿淘宝电子商城系统-Zipkin服务端配置
查看>>
struts2.1.3之后使用自定义Filter
查看>>