文档章节

java中this关键字

牧羊人Berg
 牧羊人Berg
发布于 2015/10/14 09:20
字数 421
阅读 190
收藏 1
  1. this 关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。

     

  2. public class People {
       /**
        * @author 牧羊的伯格女皇
        * @param args
        * date:2015-10-14
        */
        private int age;
    
        private String name;
    
        People(String name){
    
            this.name = name;
    
            this.printInfo();  //也可省略this
        }
    
        public void printInfo(){
    
            age = 21;   //这里也可以使用 this.age
    
            System.out.println( name + "的年龄为: " + age );
    
        }
    
        public static void main(String[] args) {
    
           People p = new People("牧羊的伯格女皇"); //构造方法中的this就是对象 p
    
       }
     }

    3.  在实例方法中使用this,实例方法只能通过对象来调用,不能用类名来调用。当this出现在实例方法中时,this就代表正在调用该方法的当前对象。

另外还需要注意的是:当实例成员变量的名字和局部变量的名字相同时,成员变量前面的 "this." 或 "类名."就不可省略。

public class Demo {

    public int x = 100;

    public static int y;

    public void A(){

        int x =10;
        Demo.y = 20;

        //当实例成员变量与局部变量的名字相同时候,不能省略this关键字

        System.out.println("x = " +x + "\t this.x = " + this.x);

        this.B();  // 当前对象调用了B  也可以说  对象d调用了方法A后,又调用了方法B 此时也可以省略this关键字

        C();

    }

    public void B(){

        System.out.println("Hello , B Method !" );
    }

    public static void C(){

        System.out.println("Hello , C Method !");

    }

    public static void main(String[] args) {
     
        Demo d = new Demo();

        d.A();

    }

}

注: this关键字不能出现在类方法中,这是因为,类方法可以通过类名直接调用,这时,可能还没有任何对象被创建诞生。

 

-------更深入理解this关键字: java中this关键字的几种用法 

© 著作权归作者所有

共有 人打赏支持
牧羊人Berg
粉丝 24
博文 96
码字总数 87512
作品 0
深圳
私信 提问
Java学习资料-标识符、关键字

1、标识符 (1)Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则。 (2)Java标识符命名规则: 标识符由字母、下划...

晓阳
2015/01/05
0
0
《Java从小白到大牛精简版》之第4章 Java语法基础

《Java从小白到大牛》纸质版已经上架了!! 本章主要为大家介绍Java的一些基本语法,其中包括标识符、关键字、保留字、常量、变量、表达式等内容。 4.1 标识符、关键字和保留字 任何一种计算...

tony关东升
06/26
0
0
Java会出现"unreachable code"错误的几个例子

Java会出现"unreachable code"错误的几个例子 1. throw关键字 Java代码: public void XXX() throws Throwable{ } 2. return关键字 Java代码 : public void XXX() { } 3. continue关键字 Ja......

artshell
2014/02/14
0
0
Java多线程系列之synchronized关键字解析

一、synchronized关键字介绍 synchronized关键字是JVM在软件层面实现的一种独占锁,他依赖于java对象,通过使用它可以把任意一个非空java对象作为锁,如果使用synchronized关键字修饰类中的实...

老韭菜
08/01
0
0
【翻译】C#编程语言和JAVA编程语言的比较(上)

【翻译】C#编程语言和JAVA编程语言的比较(上) 原文地址:http://www.25hoursaday.com/CsharpVsJava.html 简介 C#语言是一门面向对象的语言,开发者可以使用C#和微软.NET平台快速构建各种应...

fbf
2013/08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

手写一个重试机制程序(使用Callable)

java.util.concurrent.Callable<V>接口可以实现多线程,同时还能实现一个简易重试机制。 查看Callable接口源码可知,它内部的call()方法带返回值,同时抛出了异常。 public interface Cal...

哥本哈根的小哥
26分钟前
0
0
能否通过反射修改被 final 修饰的成员变量?

一、背景 日常磨刀 二、阅前须知知识点: 当final修饰的成员变量在定义的时候初始化值,反射就不能动态修改它的值了。 当final修饰的成员变量在定义的时候没有初始化值,就还能通过反射来动态...

jack__0023
44分钟前
0
0
方之熙博士被任命为RISC-V基金会中国顾问委员会主席,加速RISC-V ISA在中国的应用

中国顾问委员会将就RISC-V基金会的教育和应用推广战略提供指导 今天在中国乌镇举行的世界互联网大会(World Internet Conference)上,RISC-V基金会(RISC-V Foundation)宣布,半导体行业资深人...

whoisliang
58分钟前
1
0
为了用户体验,不要做浏览器兼容

读者看到这篇文章的标题也许会感到奇怪,按照通常的经验来说,为了用户体验应该做浏览器兼容,以便让不同的浏览器用户都能有好的体验,从而增加网站的流量,但是我认为做浏览器兼容属于同样的...

Bob2100
58分钟前
1
0
分布式定时任务架构 (二) xxl-job二次开发实践

4个月前,公司有任务调度的需求,需要一周内完成,时间非常紧。 需求有三点: web界面编辑cron表达式,启动,停止任务 接入公司的rpc成本较低,公司有自研的rpc,研发人员希望共用同一套注解 ...

勇哥和你一起学技术
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部