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

    解决 成员变量和局部变量同名问题

      可以在成员变量名前面加上this.来区别成员变量和局部变量

      

    class Person {
    	private int age;
    	private String name;
    	
    	public void speak() {
    		this.name = "小强";
    		this.age = 18;
    		System.out.println("name=" + this.name + ",age=" + this.age);
    	}
    }
    
    class PersonDemo {
    	public static void main(String[] args) {
    		Person p = new Person();
    		p.speak();
    	}
    }
    

      普通方法中,this总是指向调用该方法的对象。
      构造方法中,this总是指向正要初始化的对象。

    this最常的用法

      1.    让类中的一个方法,访问该类的另一个方法或属性。
      2.    使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句。

    this使用时的注意事项:

        ·this不能用于static方法!(this指向当前对象,static方法跟对象没有一毛钱的关系)

    package cn.bjsxt.oop.testThis;
     public class Student {
         String name;
         int id;   
      public  Student(String name,int id){
         this(name);   //通过this调用其他构造方法,必须位于第一句! Constructor call must be the first statement in a constructor
         this.name = name;
         this.id = id;
     }
     
     public Student(String name){
         this.name = name;
     }
     public Student(){
         System.out.println("构造一个对象");
     }
     
     public void setName(String name){
         this.name = name;
     }
     
     public void study(){
         this.name=  "张三";
         System.out.println(name+"在學習");
     }
      public void sayHello(String sname){
         System.out.println(name+"向"+sname+"說:你好!");
         }
    }
    

      

  • 相关阅读:
    CF833B The Bakery (线段树+DP)
    NOIP 2017 时间复杂度 (模拟)
    NOI 2018 屠龙勇士 (拓展中国剩余定理excrt+拓展欧几里得exgcd)
    中国剩余定理(excrt) 模板
    后缀自动机 模板
    luogu P4248 [AHOI2013]差异
    luogu P3975 [TJOI2015]弦论
    luogu P4770 [NOI2018]你的名字
    luogu P3726 [AH2017/HNOI2017]抛硬币
    luogu P3722 [AH2017/HNOI2017]影魔
  • 原文地址:https://www.cnblogs.com/zqy6666/p/12053826.html
Copyright © 2011-2022 走看看