Java中this的用法及在构造器中调用构造器
来源:互联网 发布:node2vec 知乎 编辑:程序博客网 时间:2024/06/06 13:01
package object;public class E08_StaticTest { int petalCount = 0; String s = "initial value";//(1) E08_StaticTest(int petals) { petalCount = petals; System.out.println("Constructor w/ int arg only, petalCount= " + petalCount); }//(2) E08_StaticTest(String ss) { System.out.println("Constructor w/ String arg only, s = " + ss); s = ss; }//(3) E08_StaticTest(String s, int petals) { this(petals);//! this(s); // Can't call two! this.s = s; // Another use of "this" System.out.println("String & int args"); }//(4) E08_StaticTest() { this("hi", 47); System.out.println("default constructor (no args)"); } void printPetalCount() {//! this(11); // Not inside non-constructor! System.out.println("petalCount = " + petalCount + " s = "+ s); } public static void main(String[] args) { E08_StaticTest x = new E08_StaticTest(); x.printPetalCount(); }} /* Output:Constructor w/ int arg only, petalCount= 47String & int argsdefault constructor (no args)petalCount = 47 s = hi*///:~
注意:this本身表示对当前对象的引用。
刚开始看这段代码时,没怎么看明白,本以为会直接输出最后两行,没搞懂Constructor w/ int arg only, petalCount= 47;String & int args这两行为什么会输出。后来才明白其原因,
其执行顺序为: E08_StaticTest x = new E08_StaticTest();其后执行(4)的this语句->(3)的this语句->(1)确认int类型为47,输出print->(3)的剩下语句->(4)的剩下语句。这样输出结果就和程序设计的一一对应了。原因:如果构造器的第一个语句形如this(...)这个构造器将调用同一个类的另一个构造器。
阅读全文
0 0
- Java中this的用法及在构造器中调用构造器
- java 构造方法的相互调用(在一个构造器中,通过this调用另一个构造器)
- this关键字---在构造器中调用构造器
- this 构造器中调用构造器
- c++中类似java的this构造器调用
- 在构造器中调用构造器
- java 构造器中调用构造器
- java中在类的构造器中调用另一个构造器
- Java在继承中构造器的调用顺序
- Java中构造器的调用顺序
- Java中构造器间的调用
- java 中构造器的调用顺序
- Java中this调用重载构造函数
- 能否在一个构造器中调用另一个构造器
- Java this()必须放在构造方法的第一句,在成员方法中不能用this()调用构造方法的原因
- java中this.的使用;什么是构造方法,及构造方法的作用
- 初学Java,在构造器中调用另一个构造器(十)
- 初学Java,在构造器中调用另一个构造器(十)
- Java中构造器的初始化
- 【牛客网/动态规划】蘑菇阵:这种题是不能用深搜解决的
- openwrt学习资料
- 反编译apk,修改sdk文件,重新签名
- https的传输方式
- Java中this的用法及在构造器中调用构造器
- Quartz两种不同类型的Trigger实现
- nrf52832增大数据吞吐量
- Java--排序算法
- es6 set和weakset
- HDOJ HDU 1034 Candy Sharing Game
- 继承中的static关键字
- HDU 1175 连连看 DFS
- 数组去重的五种方式