how2j.cn


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

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

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


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



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



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

步骤 1 :

设计英雄这个类

edit
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 :

创建具体的英雄

edit
类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄
一个个具体的英雄,就叫一个个的对象
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 :

类的第一个字母大写

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

}
步骤 4 :

练习-Item

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

创建(实例化)3件具体物品
名称 价格
血瓶 50
草鞋 300
长剑 350
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

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


注: 创建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公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2022-04-24 本题作答
芬达味橘猫

//设计物品 public class Item { //名称 String name; //价格 int price; public static void main(String args[]){ //实例化,上面得部分创建了数据类型,在下面实例化它 Item b1 = new Item(); b1.name = "xueping"; b1.price = 50; Item c1 = new Item(); c1.name = "caoxie"; c1.price = 300; Item c2 = new Item(); c2.name = "changjian"; c2.price = 350; } }




8 个答案

给你买粉包
答案时间:2022-05-14
public class Item {//商品类 private String name;//名字 private int price;//价格 public Item() { } public Item(String name, int price) { this.name = name; this.price = price; } @Override public String toString() { return "Item{" + "name='" + name + '\'' + ", price=" + price + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } } public class Hero { private String name;//姓名 private float hp;//血量 private float armor;//护甲 private int moveSpeed;//移动速度 public Hero() { } public Hero(String name, float hp, float armor, int moveSpeed) { this.name = name; this.hp = hp; this.armor = armor; this.moveSpeed = moveSpeed; } @Override public String toString() { return "Hero{" + "name='" + name + '\'' + ", hp=" + hp + ", armor=" + armor + ", moveSpeed=" + moveSpeed + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getHp() { return hp; } public void setHp(float hp) { this.hp = hp; } public float getArmor() { return armor; } public void setArmor(float armor) { this.armor = armor; } public int getMoveSpeed() { return moveSpeed; } public void setMoveSpeed(int moveSpeed) { this.moveSpeed = moveSpeed; } } public class Test { public static void main(String[] args) { Hero garen = new Hero("盖伦", 616f, 27f, 350); Hero teemo=new Hero("提莫",383f,14f,330); System.out.println(garen); System.out.println(teemo); Item bloodBottle=new Item("血瓶",50); Item strawSandals = new Item("草鞋", 300); Item aSword = new Item("长剑", 350); System.out.println(bloodBottle); System.out.println(strawSandals); System.out.println(aSword); } }
Hero{name='盖伦', hp=616.0, armor=27.0, moveSpeed=350}
Hero{name='提莫', hp=383.0, armor=14.0, moveSpeed=330}
Item{name='血瓶', price=50}
Item{name='草鞋', price=300}
Item{name='长剑', price=350}

SorryKing
答案时间:2022-05-13
public class Item { String name; int price; } public static void main(String[] args){ Item fbdj = new Item(); fbdj.name = "风暴大剑"; fbdj.prive = 1300; System.sout.println( fbdj.name+ fbdj.prive); }

西瓜猪
答案时间:2022-05-10
public class Item{ String name; int price; public static void main(String[] args){ Item bdbottle=new Item(); bdbottle.name="血瓶"; bdbottle.price=50; Item shoes=new Item(); shoes.name="草鞋"; shoes.price=300; Item sword=new Item(); sword.name="长剑"; sword.price=350; } }

前进的小小白
答案时间:2022-05-08
lyc4305810902
答案时间:2022-05-02
xiaoba_java
答案时间:2022-04-30
zlik
答案时间:2022-04-27
xx900216
答案时间:2022-04-26
public class ltem { String name; int price; public static void main(String[] args) { ltem xueping = new ltem(); ltem caoxie = new ltem(); ltem changjian = new ltem(); xueping.name = "血瓶"; xueping.price =50; caoxie.name ="草鞋"; caoxie.price =300; changjian.name ="长剑"; changjian.price =350; System.out.println(xueping.name); System.out.println(caoxie.name); System.out.println(changjian.name); // TODO 自动生成的方法存根 } }



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2022-03-11 java小白:string cannot be resolved to a type这怎么解决啊
愤怒的小黄瓜

java小白:string cannot be resolved to a type这怎么解决啊




10 个答案

彼岸春秋
答案时间:2022-05-14
public class Item{ String name; int price; } public static void main(String[] args){ Item t1=new Item(); t1.name="血瓶"; t1.price=10; Item t2=new Item(); t2.name="草鞋"; t2.prince=300; Item t3=new Item(); t3.name="长剑"; t3.price=300; }

junkfish
答案时间:2022-05-09
fdafd
答案时间:2022-04-12
package pack; public class sds { public static void main(String[] args) { Item item1=new Item(); Item item2=new Item(); Item item3=new Item(); item1.name="血瓶"; item1.price=50; item2.name="草鞋"; item2.price=300; item3.name="长剑"; item3.price=350; System.out.println(item1.name+item1.price); System.out.println(item2.name+item2.price); System.out.println(item3.name+item3.price); } } class Item{ String name; int price; }

18230101810gsh_
答案时间:2022-04-07
Java_Zheuser
答案时间:2022-03-30
public class Item { String name; int price; public static void main(String[] args) { Item xuepin=new Item(); Item caoxue=new Item(); Item changjian=new Item(); xuepin.name="血瓶"; xuepin.price=50; caoxue.name="草鞋"; caoxue.price=300; changjian.name="长剑"; changjian.price=350; System.out.println(xuepin.price); System.out.println(xuepin.name); System.out.println(caoxue.name); System.out.println(caoxue.price); System.out.println(changjian.price); System.out.println(changjian.name); } }

被迫改名
答案时间:2022-03-29
kk是Java小白
答案时间:2022-03-26
public class Item { private String name; private int price; public Item() { } public Item(String name, int price) { this.name = name; this.price = price; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } } public class ItemTest { public static void main(String[] args) { Item item1 = new Item("血瓶", 50); Item item2 = new Item("草鞋", 300); Item item3 = new Item("长剑", 350); System.out.println("名称 价格"); System.out.println(item1.getName() +item1.getPrice()); System.out.println(item2.getName() +item2.getPrice()); System.out.println(item3.getName() +item3.getPrice()); } }

曾经沧海
答案时间:2022-03-23
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=500; System.out.println(caoxie.name+" "+caoxie.price) } }

心神策略
答案时间:2022-03-14
输出因该是: System.out.println(potion.name + potion.price); 如上

LeoLiLiuxing
答案时间:2022-03-11



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2022-01-24 2017年的东西来这骗钱来了?网上一大堆免费资料搁你这要钱那要钱我推荐各位去网上找视频学习不要在这耽误时间和金钱
2021-12-22 老师或同学谁有中国象棋的JAVA源代码
2021-12-09 本文学习


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 191 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-面向对象-类和对象 的提问

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

上传截图