首页 > 编程语言 > 详细

Java面向对象编程 -3

时间:2020-02-17 19:04:14      阅读:52      评论:0      收藏:0      [点我收藏+]

this关键字

this可以算是Java里面比较复杂的关键字,因为this的使用形式约定了它的灵活性,在程序里面,使用this可以实现以下三类结构的描述:

  • 当前类中的属性:this属性;
  • 当前类中的方法(普通方法、构造方法):this()、this.方法名称();
  • 描述当前对象;
class Person{
    private int age;
    private String name;
    
    public  void intorduce() {
        System.out.println("age= "+age+" name= "+name);
    }
    public Person(int a ,String n) {
        age = a;
        name = n;
    }
}
public class xxx {
    public static void main(String[] args) {
         new Person().intorduce();
    }

}
>>>age= 12 name= sax

以前我们构造方法

    public Person(int a ,String n) {
        age = a;
        name = n;
    }

a 和 n 目的是为了给age和name初始化赋值 但此时a和n参数名字不好
换相应名字之后

    public Person(int a ,String n) {
        age = age;
        name = name;
    }
>>>age= 0 name= null

会发现 改为name和age后 属性无法正确地赋值
在Java程序之中"{}"是作为一个结构体地边界符,那么在程序里面进行变量(参数、属性都称为变量)使用的时候都会以"{}"作为一个查找边界
所以按照就近取用的原则,此时的构造方法并没有能够访问类中的属性,所以此时为了明确地标记出类中的属性与参数的区别,往往会在属性前面追加一个"this",表示本类属性。

public Person(int age ,String name) {
        this.age = age;
        this.name = name;
    }

在你以后所编写的程序代码之中,只要是访问本类中属性的时候,请一定要加上"this."实现访问。
比如:

public  void intorduce() {
        System.out.println("age= "+this.age+" name= "+this.name);
    }

Java面向对象编程 -3

原文:https://www.cnblogs.com/sakura579/p/12322902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!