java中有哪些使用this的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
public class DebugerTest {
public static void main(String[] args) {
UserExample samp1 = new UserExample("amy");
System.out.println("who are u? ");
System.out.println(samp1.whoAreU());
System.out.println("intro yourself?");
System.out.println(samp1.introYourself());
}
}
class UserExample {
private String name;
private Integer age;
private MyDoll myDoll;
public UserExample() {
this(null);
}
// 3. 调用本类的其他构造方法
public UserExample(String name) {
this(name, -1);
}
public UserExample(String name, Integer age) {
this.name = name;
this.age = age;
this.myDoll = new MyDoll("prize");
}
// 2. 调用本类属性
public void changeMyName(String name) {
this.name = name;
}
public void changeMyAge(Integer age) {
this.age = age;
}
public String whoAreU() {
return "I am " + name + ". ";
}
public String haoOldAreU() {
return "i am " + age + " old.";
}
// 1. 调用本类方法
public String introYourself() {
return this.whoAreU() +
this.haoOldAreU() +
"\r\n whoAmI@ " + this.myDoll.whoAmI() +
"\r\n whoAreSuper@ " + this.myDoll.whoAreSuper();
}
class MyDoll {
private String name;
public MyDoll(String name) {
this.name = name;
}
public void changeMyName(String name) {
this.name = name;
}
// 5. 隐藏式的调用
public String whoAmI() {
return whoAreU();
}
public String whoAreU() {
return "I am a Doll, my name is " + name + ". ";
}
// 4. 调用父类的或指定的其他的类的同名方法
public String whoAreSuper() {
return "super is " + UserExample.this.whoAreU() + ". ";
}
}
}
1. 调用本类方法,表达更清晰
public String introYourself() {
return this.whoAreU() + this.haoOldAreU();
}
2. 调用本类属性,基本功亮出来
public void changeMyName(String name) {
this.name = name;
}
3. 调用本类的其他构造方法,更灵活
public UserExample(String name) {
this(name, -1);
}
4. 调用父类的或指定的其他的类的同名方法,为避免歧义而生的方法
public String whoAreSuper() {
return "super is " + UserExample.this.whoAreU() + ". ";
}
5. 隐藏式的调用,为了写代码方便(更常用),不指定范围,java会在全类范围内向上查找变量或方法
public String whoAmI() {
return whoAreU();
}
以上样例输出结果如下所示:
this是个基本的关键字,我们平时也一直在用,只是也不一定所有同学都清楚怎么用。
1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。
看完上述内容,你们掌握java中有哪些使用this的方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。