00048_this关键字
2024-09-04 16:35:39
1、this调用构造方法
(1)构造方法之间的调用,可以通过this关键字来完成;
(2)构造方法调用格式
this(参数列表);
(3)小案例
class Person {
// Person的成员属性
private int age;
private String name; // 无参数的构造方法
Person() {
} // 给姓名初始化的构造方法
Person(String nm) {
name = nm;
} // 给姓名和年龄初始化的构造方法
Person(String nm, int a) {
// 由于已经存在给姓名进行初始化的构造方法 name = nm;因此只需要调用即可
// 调用其他构造方法,需要通过this关键字来调用
this(nm);
// 给年龄初始化
age = a;
}
}
2、成员变量和局部变量同名问题
当在方法中出现了局部变量和成员变量同名的时候,可以在成员变量名前面加上this.来区别成员变量和局部变量。
class Person {
private int age;
private String name; // 给姓名和年龄初始化的构造方法
Person(String name, int age) {
// 当需要访问成员变量是,只需要在成员变量前面加上this.即可
this.name = name;
this.age = age;
} public void speak() {
System.out.println("name=" + this.name + ",age=" + this.age);
}
} class PersonDemo {
public static void main(String[] args) {
Person p = new Person("张三", 23);
p.speak();
}
}
3、在Person类中定义功能,判断两个人是否是同龄人
class Person {
private int age;
private String name; // 给姓名和年龄初始化的构造方法
Person(String name, int age) {
// 当需要访问成员变量是,只需要在成员变量前面加上this.即可
this.name = name;
this.age = age;
} public void speak() {
System.out.println("name=" + this.name + ",age=" + this.age);
} // 判断是否为同龄人
public boolean equalsAge(Person p) {
// 使用当前调用该equalsAge方法对象的age和传递进来p的age进行比较
// 由于无法确定具体是哪一个对象调用equalsAge方法,这里就可以使用this来代替
/*
* if(this.age == p.age) { return true; } return false;
*/
return this.age = p.age;
}
}
最新文章
- Springboot框架
- Atitti 大话存储读后感 attilax总结
- 雅美尓(yaml)实战
- 签名 cd
- c++/java/c# 几种编程语言的指针、引用比较
- HTML第四天学习笔记
- Adnroid Studio使用技巧
- android通过代码判断手机是否root
- 打包zip下载
- 文件lseek操作产生空洞文件的方法
- 数据分析 - 美国金融科技公司Prosper的风险评分分析
- SQL中常用数学函数
- 剑指offer(52)正则表达式的匹配
- Javascript 来判断数组的假值如 null false ";"; NaN
- Hive UDF作业
- Python之 ---成员修饰符
- .net 根据网址生成静态页
- Slickflow.NET 开源工作流引擎高级开发(三) -- 并行分支容器与会签工作流模式的组合
- 20165318 2017-2018-2 《Java程序设计》第五周学习总结
- 2018 CTSC&;APIO 游记