how2j.cn


工具版本兼容问题
本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开)

相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的

假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做?

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



7分55秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 设计英雄这个类   
步骤 2 : 创建具体的英雄   
步骤 3 : 类的第一个字母大写   
步骤 4 : 练习-Item   
步骤 5 : 答案-Item   

步骤 1 :

设计英雄这个类

LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女
所有这些英雄,都有一些共同的状态
比如,他们都有名字,hp,护甲,移动速度等等
这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物
类: 英雄(Hero)
状态: 名字, 血量,护甲,移动速度

注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数),本章只做简单的使用 ,就不展开了,关于变量知识的详细讲解,将在下个章节展开.
注: 这个类没有主方法,不要试图运行它。 并不是所有的类都是有主方法的。
设计英雄这个类
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 }
public class Hero {
	
	String name; //姓名
	
	float hp; //血量
	
	float armor; //护甲
	
	int moveSpeed; //移动速度
}
步骤 2 :

创建具体的英雄

类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄
一个个具体的英雄,就叫一个个的对象
new Hero() 就是java中创建一个英雄对象的意思
创建具体的英雄
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public static void main(String[] args) { Hero garen = new Hero(); garen.name = "盖伦"; garen.hp = 616.28f; garen.armor = 27.536f; garen.moveSpeed = 350; Hero teemo = new Hero(); teemo.name = "提莫"; teemo.hp = 383f; teemo.armor = 14f; teemo.moveSpeed = 330; } }
步骤 3 :

类的第一个字母大写

好的编程习惯会让代码看上去更清爽,易读,容易维护
比如类的第一个字母大写
Hero
public class Hero { }
public class Hero {

}
步骤 4 :

练习-Item

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
设计出物品这种类
类名:Item
物品有如下属性:
名字 name 类型是字符串String
价格 price 类型是整型 int

创建(实例化)3件具体物品
名称 价格
血瓶 50
草鞋 300
长剑 350
步骤 5 :

答案-Item

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

2分16秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


注: 创建Item这个类的时候,必须写在一个Item.java的文件里,不可以使用其他文件名,大小写也要保持一致,不能是item.java
public class Item { String name; int price; public static void main(String[] args) { Item potion = new Item(); potion.name= "血瓶"; potion.price =50; Item shoe = new Item(); shoe.name= "草鞋"; shoe.price =300; Item sword = new Item(); sword.name= "长剑"; sword.price =350; } }
public class Item {
	String name;
	int price;
	
	public static void main(String[] args) {
		Item potion = new Item();	
		potion.name= "血瓶";
		potion.price =50;
		
		Item shoe = new Item();	
		shoe.name= "草鞋";
		shoe.price =300;
		
		Item sword = new Item();	
		sword.name= "长剑";
		sword.price =350;
		
	}
}


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-07-13 交作业咯
王小二



本节作业
public class Item {
   String name;//名字
   int price;//价格
   public static void main(String []args){
	   Item xueping=new Item();
	   xueping.name="血瓶";
	   xueping.price=50;
	   Item caoxie=new Item();
	   caoxie.name="草鞋";
	   caoxie.price=300;
	   Item changjian=new Item();
	   changjian.name="长剑";
	   changjian.price=350;
   }
}

							


2 个答案

嵩哥王前来报到 答案时间:2018-07-15
腰间盘同学,你太突出了,去更高级的地方吧,这里不适合你

huayu2012 答案时间:2018-07-14
public class Item{ String name; int price; Itrm(String n,int p){ this.name=n; this.price=p; } public static void main(String[] args){ Item xp = new Item("血瓶",50); Item cx = new Item("草鞋",300); Item cj = new Item("长剑",300); } }




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-07-12 jse basic hello world
yaligatongtongtong



jse basic hello world

							

							


1 个答案

13620313745 答案时间:2018-07-12




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-07-07 作业
2018-07-02 跟站长学java,交作业
2018-07-02 交作业
2018-07-01 写作业
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 控制台显示“编码GBK的不可映射字符”错误
2018-06-27 交作业
2018-06-26 交作业 大佬们帮忙看看
2018-06-21 作业
2018-06-15 萌新写的作业。。
2018-05-30 我这么写可以吗
2018-05-28 刚刚写的,大佬勿喷
2018-05-24 交作业
2018-05-21 交作业,我会在自学编程这条路上走下去。希望各路大神多多关照!
2018-05-08 我按照步骤做了,可是什么都看不到,求解,老师
2018-05-07 double 到底表示的是什么呢
2018-05-03 用含参构造赋初值
2018-04-21 这个类不是有主方法吗?
2018-03-28 提交作业item类的创建
2018-03-27 作业?还有人看到吗
2018-03-17 price价格保留小数怎么写?比如血瓶价格 49.99
2018-03-17 price价格保留两位小数怎么写
2018-03-08 作业-Item
2018-03-05 练习-Item
2018-03-05 练习--Item类
2018-02-21 我是不是有点傻。。。。。
2018-02-06 哪里有更多的习题,总感觉要多练习
2018-01-18 评论区有提供答案就好了
2017-12-31 主方法main为什么在"创建具体的英雄"前面出现,换句话说为什么"创建具体的英雄"要运行,"创建类"就不用运行呢?
2017-12-24 怎么运行总出错那?
2017-11-27 lol
2017-11-25 我这样写是不是复杂了,有冗余啊
2017-11-15 mian 调用的快捷键
2017-11-15 编写问题
2017-11-14 这样写是否也能满足要求
2017-10-22 求助 控制台显示terminated
2017-10-20 作业
2017-10-17 不能进入创建的项目中
2017-10-10 盖伦英文名字出错
2017-10-02 测试类与实体类放在一起也可以吗?
2017-09-29 加了私有标识符就一定写这么多吗?好麻烦啊。
2017-09-19 运行错误。。。。
2017-09-16 =
2017-09-16 关于浮点数
2017-09-14 recovery一直报错。不明白原因
2017-09-05 请问“有new才有对象”这种说法对吗?
2017-08-25 界面出现这个是为什么,要怎么解决
2017-08-05 老师,你英雄属性后面的小数点是什么意思,为啥我不加小数点也可以呢?
2017-08-01 参考
2017-07-21 站长的类图是用什么软件画的?感觉比Visio和Rose清爽多了,跪求。
2017-03-17 作业答案代码
2017-02-24 作业
2017-02-24 老师,作为java程序执行入口的主方法main函数,不可以写在别的普通方法中吧
2017-02-19 打卡
2017-01-02 练习
2016-12-20 代码无错,为啥运行结果是什么都没有啊?
2016-12-02 每次一打“.”的时候,就出现什么数组越界,下面的截图
2016-11-06 类名可以用拼音来表示吗
2016-09-16 不明白一行代码的作用
2016-08-13 新手不明白错在哪了
2016-06-13 描述是否不当
2016-04-16 UML类图的画法
2016-03-16 编写完 才发现类名首字没有大写 请问怎么办
2016-02-14




提问之前请登陆
关于 JAVA 基础-面向对象-类和对象 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图