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

    ljava中,this关键字比较难理解,它的作用和其词义很接近。

    Ø它在方法内部使用,即这个方法所属对象的引用;

    Ø它在构造器内部使用,表示该构造器正在初始化的对象。

    this表示当前对象,可以调用类的属性、方法和构造器

    什么时候使用this关键字呢?

    当在方法内需要用到调用该方法的对象时,就用this

    使用this,调用属性、方法

    class Person{		// 定义Person类
    	private String name ;	
    	private int age ;			
    	public Person(String name,int age){	
    		this.name = name ;   
    		this.age = age ;  }
    	public void getInfo(){	
    		System.out.println("姓名:" + name) ;
    		this.speak();
    	}
    	public void speak(){
    		System.out.println(“年龄:” + this.age);	
    	}
    }

    1.当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量时类成员

     2.在任意方法内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性

    使用this调用本类的构造器

    class Person{		// 定义Person类
    	private String name ;		
    	private int age ;			
    	public Person(){	  // 无参构造
    		System.out.println("新对象实例化") ;
    	}
    	public Person(String name){
    		this();      // 调用本类中的无参构造方法
    		this.name = name ;	
    	}
    	public Person(String name,int age){	
    		this(name) ;  // 调用有一个参数的构造方法
    		this.age = age;
    	}
    	public String getInfo(){	
    		return "姓名:" + name + ",年龄:" + age ;
    	}  }
    

    3.this可以作为一个类中,构造器相互调用的特殊格式


    注意:

    1.使用this()必须放在构造器的首行!

    2.使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。(实际上就是不能出现构造器自己调用自己)

  • 相关阅读:
    ASP.NET 生命周期(原文翻译)
    JSON 小记
    Unity5-ABSystem(二):AssetBundle导出
    Unity5-ABSystem(一):AssetBundle原理
    《Unity 3D游戏客户端基础框架》概述
    Unity中的资源管理
    Unity中的优化技术
    深入浅出聊Unity3D项目优化:从Draw Calls到GC
    Incremental builds for IL2CPP
    Unity3D图像后处理特效——Depth of Field 3.4
  • 原文地址:https://www.cnblogs.com/zhahu/p/11931397.html
Copyright © 2011-2022 走看看