类和对象系列教材 (五)- Java 中的this 是什么意思?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了类和对象系列教材 (五)- Java 中的this 是什么意思?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3010字,纯文字阅读大概需要5分钟。
内容图文
![类和对象系列教材 (五)- Java 中的this 是什么意思?](/upload/InfoBanner/zyjiaocheng/640/0c5bfbd333b044dd93d412d0c94ad1b4.jpg)
this这个关键字,相当于普通话里的“我”
小明说 “我吃了” 这个时候,“我” 代表小明
小红说 “我吃了” 这个时候,“我” 代表小红
"我"代表当前人物
this这个关键字,相当于普通话里的“我”
this即代表当前对象 步骤1:this代表当前对象
步骤2:通过this访问属性
步骤3:通过this调用其他的构造方法
步骤4:练习-构造方法(this)
步骤5:答案-构造方法(this) 步骤?1?:?this代表当前对象
public class Hero {
????
???? String name;? //姓名
????
???? float hp;? //血量
????
???? float armor;? //护甲
????
???? int moveSpeed;? //移动速度
???? //打印内存中的虚拟地址
???? public void showAddressInMemory(){
???????? System.out.println( "打印this看到的虚拟地址:" + this );
???? }
????
???? public static void main(String[] args) {
???????? Hero garen =?? new Hero();
???????? garen.name =? "盖伦" ;
???????? //直接打印对象,会显示该对象在内存中的虚拟地址
???????? //格式:Hero@c17164 c17164即虚拟地址,每次执行,得到的地址不一定一样
???????? System.out.println( "打印对象看到的虚拟地址:" +garen);
???????? //调用showAddressInMemory,打印该对象的this,显示相同的虚拟地址
???????? garen.showAddressInMemory();
????????
???????? Hero teemo =?? new Hero();
???????? teemo.name =? "提莫" ;
???????? System.out.println( "打印对象看到的虚拟地址:" +teemo);
???????? teemo.showAddressInMemory();
???? }???
????
}
|
public class Hero {
????
???? String name;? //姓名
????
???? float hp;? //血量
????
???? float armor;? //护甲
????
???? int moveSpeed;? //移动速度
???? //参数名和属性名一样
???? //在方法体中,只能访问到参数name
???? public void setName1(String name){
???????? name = name;
???? }
????
???? //为了避免setName1中的问题,参数名不得不使用其他变量名
???? public void setName2(String heroName){
???????? name = heroName;
???? }
????
???? //通过this访问属性
???? public void setName3(String name){
???????? //name代表的是参数name
???????? //this.name代表的是属性name
???????? this .name = name;
???? }
????
???? public static void main(String[] args) {
???????? Hero? h = new Hero();
????????
???????? h.setName1( "teemo" );
???????? System.out.println(h.name);
????????
???????? h.setName2( "garen" );
???????? System.out.println(h.name);?????
????????
???????? h.setName3( "死歌" );
???????? System.out.println(h.name);?????
???? }
????
}
|
public class Hero {
???????
???? String name;? //姓名
???????
???? float hp;? //血量
???????
???? float armor;? //护甲
???????
???? int moveSpeed;? //移动速度
???????
???? //带一个参数的构造方法
???? public Hero(String name){
???????? System.out.println( "一个参数的构造方法" );
???????? this .name = name;
???? }
?????
???? //带两个参数的构造方法
???? public Hero(String name, float hp){
???????? this (name);?
???????? System.out.println( "两个参数的构造方法" );
???????? this .hp = hp;
???? }
???? public static void main(String[] args) {
???????? Hero teemo =?? new Hero( "提莫" , 383 );
????????
???????? System.out.println(teemo.name);
????????
???? }
?????
}
|
更多内容,点击了解:?https://how2j.cn/k/class-object/class-object-this/294.html
内容总结
以上是互联网集市为您收集整理的类和对象系列教材 (五)- Java 中的this 是什么意思?全部内容,希望文章能够帮你解决类和对象系列教材 (五)- Java 中的this 是什么意思?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。