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

    this关键字调用构造方法的原则:

    (1)在构造方法中使用this关键字时,必须作为构造方法的第一条语句。(2)只能在构造方法中使用this关键字来调用所在类中的其它构造方法。(3)只能使用this关键字调用其它构造方法,而不能使用方法名直接调用构造方法。

    this两种用法:

    1. 区分同名变量

    示例代码: TestThis_2.java

    复制代码代码如下:

    /* this的常见用法1:区分同名变量
     * 输出结果:
     * this. i = 1
     * i = 33
     */
    public class TestThis_2 {
        public static void main(String[] args) {
            A aa = new A(33);
        }   
    }

    class A { 
        public int i = 1;                                           //这个i是成员变量

        /*注意:一般不这么写,构造函数主要是为了初始化,这么写主要是为了便于理解*/
        public A(int i) {                                           //这个i是局部变量
            System.out.printf("this. i = %d ", this.i);            //this.i指的是对象本身的成员变量i
            System.out.printf("i = %d ", i);                       //这里的i是局部变量i
        }   
    }

    2. 构造方法间的相互调用

    示例代码: TestThis_3.java

    复制代码代码如下:

    /* this的常见用法2: 构造方法中互相调用*/
    public class TestThis_3 {
        public static void main(String[] args) {

        }   
    }

    class A { 
        int i, j, k;
        public A(int i) {
            this.i = i;
        }  

        public A(int i, int j) {
            /* i = 3;  error   如果不注释掉就会报错:用this(...)调用构造方法的时候,只能把它放在第一句
             * TestThis_3.java:20: error: call to this must be first statement in constructor
             *      this(i);
             *                  ^
             *                  1 error
             */
            this(i);    
            this.j = j;
        }  

        public A(int i, int j, int k) {
            this(i, j); 
            this.k = k;
        }   
    }

  • 相关阅读:
    Delphi 2009增强之Exit函数
    带小数的10进制转16进制
    产生指定长度的随机字符串
    在delph 2009中,利用Build Events调用UPX
    WMI信息获取
    MYSQL 存储过程学习笔记
    将窗体透明化
    倒计时
    通过程序开启XP的ClearType显示效果
    使用ODAC调用ORACLE的自定义函数和存储过程
  • 原文地址:https://www.cnblogs.com/dyc-cfc/p/4116394.html
Copyright © 2011-2022 走看看