本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
![]() 9分46秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项) 步骤 1 : 引用和指向 步骤 2 : 多个引用,一个对象 步骤 3 : 一个引用,多个对象 步骤 4 : 练习-引用 步骤 5 : 答案-引用 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建了一个对象,没有办法访问它 为了访问这个对象,会使用引用来代表这个对象 Hero h = new Hero(); h这个变量是Hero类型,又叫做引用 =的意思指的h这个引用代表右侧创建的对象 “代表” 在面向对象里,又叫做“指向” public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
//创建一个对象
new Hero();
//使用一个引用来指向这个对象
Hero h = new Hero();
}
}
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public static void main(String[] args) { //创建一个对象 new Hero(); //使用一个引用来指向这个对象 Hero h = new Hero(); } }
引用有多个,但是对象只有一个。
在这个例子里,所有引用都指向了同一个对象。 对象就像 "房产", 引用就像"房产证" 房产证的复印件可以有多张,但是真正的"房产" 只有这么一处 public class Hero {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
//使用一个引用来指向这个对象
Hero h1 = new Hero();
Hero h2 = h1; //h2指向h1所指向的对象
Hero h3 = h1;
Hero h4 = h1;
Hero h5 = h4;
//h1,h2,h3,h4,h5 五个引用,都指向同一个对象
}
}
第8行,引用garen指向新创建的对象(对象1)
第9行,同一个引用garen指向新创建的对象(对象2) 这个时候,对象1,就没有任何引用指向了 换句话说,就没有任何手段控制和访问该对象,那么该对象就变得没有意义。 package charactor;
public class Hero {
public String name;
protected float hp;
public static void main(String[] args) {
Hero garen = new Hero();
garen = new Hero();
}
}
package charactor; public class Hero { public String name; protected float hp; public static void main(String[] args) { Hero garen = new Hero(); garen = new Hero(); } }
如代码,问题:
h4所指向的对象和h2所指向的对象,是否是同一个对象? package charactor;
public class Hero {
public String name;
protected float hp;
public static void main(String[] args) {
Hero h1 = new Hero();
Hero h2 = new Hero();
Hero h3;
Hero h4;
h3 = h1;
h4 = h3;
}
}
package charactor; public class Hero { public String name; protected float hp; public static void main(String[] args) { Hero h1 = new Hero(); Hero h2 = new Hero(); Hero h3; Hero h4; h3 = h1; h4 = h3; } }
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。
![]()
问答区域
2019-02-13
交作业
1 个答案
与时间赛跑 跳转到问题位置 答案时间:2019-02-15 package cn.itcast;
public class Quote {
String name;//姓名
float hp;//血量
float armor;//护甲
int moveSpeed;//移动的速度
public static void main(String[] args) {
new Quote();//创建新的对象
Quote h=new Quote();//引用对象
h.name="英雄";
h.hp=2390;
h.armor=232;
h.moveSpeed=2;
System.out.println(h.name+h.hp+h.armor+h.moveSpeed);
}
}
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2019-02-03
提交作业
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2019-01-15
交作业:练习-引用
2019-01-15
交作业:练习-引用
2018-12-07
引用!
2018-11-24
两个 new Hero() 不同吧?
2018-10-25
如果不用知道哈希地址的话直接就看得出来
2018-08-26
作业!
2018-08-01
当多个引用指向一个对象时,报的小黄线提示,是什么原因?
2018-07-24
交作业
2018-07-21
交作业
2018-07-12
网站的题目与学校的题库重复
2018-06-08
怎么指向两个对象各自的属性?
2018-06-04
没太看懂
2018-05-06
不一样
2018-05-05
new出来的对象没有引用也可以访问他的属性 如 new Person().name="张三";
2018-03-24
这里的引用指定应该是对象在虚拟机的内存地址吧? 那么这个地址和真实内存地址有什么关系吗?
2018-02-06
练习4中protected float hp,protected是什么意思?
2017-12-02
不一样
2017-10-31
请问package character有什么作用
2017-10-10
不一样,对吗?
2017-07-04
练习-引用-回答
2017-06-09
交作业,但是仍有疑问。
2017-06-02
交作业
2016-06-10
2016-03-26
new Hero();
2016-03-15
最后的俩个garen=new Hero();是一样的么?
2016-02-23
为什么最后还要再写两次garen=new Hero();
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|