zoukankan      html  css  js  c++  java
  • Java面向对象编程 -3

    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);
    	}
    
  • 相关阅读:
    django4-模板进阶
    django3-视图函数进阶
    django1-web开发基础知识
    django2-登录与出版社
    django3-路由系统进阶
    web前端-bootstrap
    Java发送邮件--web.xml配置,Java代码配置
    yii框架美化访问路径,去掉index.php/?r=部分
    JAVA集合框架的特点及实现原理简介
    详解:Java字符串类型"switch"的底层原理
  • 原文地址:https://www.cnblogs.com/sakura579/p/12322902.html
Copyright © 2011-2022 走看看