zoukankan      html  css  js  c++  java
  • 关于this关键字

    this:所在方法的调用者对象

      this关键字:
        1:如果存在成员变量和局部变量同名,方法中默认访问局部变量(就近原则),可以通过this关键之指定访问成员变量的数据
       
       2:如果在一个方法中访问了一个变量,且该变量只存在成员变量的情况下,java编译器会在该变量的前面添加this关键字
       
        3: 在一个构造函数中调用其它的构造函数       
             格式:
                 this(参数列表)
       
      this关键字调用其它构造函数的注意点:

      在方法中省略this 编译器会默认加上this

    @Override
        public boolean equals(Object obj) {
            
            if(obj instanceof Demo1){
                
                Demo1 d = (Demo1)obj;
                
                return id == d.id;    //此处的 id == d.id 相当于this.id == d.id;  省略this编译器会默认加上this 
            }
            
            return false;
            
        }


        
           1:在一个构造函数中调用其它的构造函数时,this关键字必须位于构造函数中的第一个语句     
           2: 不能在构造函数中出现构造函数互相调用的情况,因为这是个死循环

    public class Demo4 {
    
        public static void main(String[] args) {
            Person p1 = new Person("张三",29);
            Person p2 = new Person("李四",28);
            String s =p1.compare(p2);
            System.out.println(s);
    
        }
    
    }
    
    class Person{
        String name;
        int age;
        
        Person(String name, int age){
            this.name = name;  //指向的是调用此构造函数的对象,Person p1 = new Person("张三",29);中 this.name 就是 p1.name = (传进来的)"张三";
            this.age = age;
        }
        
        String compare(Person p){
            if(this.age > p.age){  //此处的this.age中的this指的是compare方法的调用者:p1,意思类似于 p1.age ;
                return this.name+"比"+p.name+"大";
            }else if(this.age == p.age){
                return "两人一样大";
            }else{
                return this.name+"比"+p.name+"小";
            }
        }
        
    }
  • 相关阅读:
    问与答练习20210802
    jmeter向kafka中写入数据 在路上
    jmeter插件地址 在路上
    wav2vec遇到的坑:AttributeError: 'Namespace' object has no attribute 'activation'
    oracle11g+arcgis10.2.2新产品部署注意步骤
    Django OssMediaStorage 手动上传图片文件到阿里云 oss
    Django MySQL中存储表情字符
    Ubuntu conda: command not found
    Python 二进制图片数据, 转换成图片到本地
    k8s集群配置搭建skywalking
  • 原文地址:https://www.cnblogs.com/uoar/p/7123066.html
Copyright © 2011-2022 走看看