类与对象总结
对象和类的区别:
1.对象是现实世界的实体,此类事物具有特征和行为:比如:我自己,我正在用的这台电脑,我看的《计算机网络》这本书,我的手机等等;
定义对象时:类名+对象名
2.类是对象的抽象,是具有相似属性和行为的一类事物的总和,比如(跟对象一一对应):人,电脑,我们学的书,手机这一大类等等;
格式:class +类名
3.类名首字母必须大写class Test{},class Boss{},class Soldier{},首字母必须大写;方法名,对象名,变量名的命名规则相同:首字母小写,首个必须是字母或下划线
命名规则:字母、数字、下划线;首字母必须是字母、下划线
4.对象的创建格式 Solider s=new Solider();
类名+对象名=new 类的构造方法
5.调用方法的格式s.setName("喜羊羊"),括弧中的是参数
参数可以是值传递,也可以是引用传递(即可以传递类的对象)
public void fight2(Solider s);
6.this关键字有两种作用 1:区分属性和参数;
例如:this.name=name;
2:调用构造方法,如this(参数);
this();
//定义Test类
public class Test{public static void main(String [] args){Soldier sol=new Soldier();Boss boss=new Boss();while(boss.getBlood()!=0&&sol.getBlood()!=0){sol.fightAganist(boss);if(boss.getBlood()<=0){System.out.println(sol.getName()+"胜利");break;}boss.fightAganist(sol);if(sol.getBlood()<=0){System.out.println(boss.getName()+"胜利");break;}}}}import java.util.Random;//定义Soldier类public class Soldier{//定义属性private String name;private String skill;private int blood;//定义get和set方法public void setName(String name){this.name=name;}public String getName(){return name;}public void setSkill(String skill){this.skill=skill;}public String getSkill(){return skill;}public void setBlood(int blood){this.blood=blood;}public int getBlood(){return blood;}//定义构造方法,设置初始值public Soldier(){this("喜羊羊",100);}public Soldier(String name,int blood){this(name,"普通技能",blood);}public Soldier(String name,String skill,int blood){this.name=name;this.skill=skill;this.blood=blood;}//定义攻击的方法public void fightAganist(Boss boss){Random ran=new Random();boss.setBlood(boss.getBlood()-ran.nextInt(30));System.out.println(boss.getName()+"被攻击之后血量剩余"+boss.getBlood());}}import java.util.Random;//定义Boss类public class Boss{//定义属性private String name;private String skill;private int blood;//定义get和set方法public void setName(String name){this.name=name;}public String getName(){return name;}public void setSkill(String skill){this.skill=skill;}public String getSkill(){return skill;}public void setBlood(int blood){this.blood=blood;}public int getBlood(){return blood;}//定义构造方法,设置初始值public Boss(){this("灰太狼",100);}public Boss(String name,int blood){this(name,"普通技能",blood);}public Boss(String name,String skill,int blood){this.name=name;this.skill=skill;this.blood=blood;}//定义攻击的方法public void fightAganist(Soldier sol){Random ran=new Random();sol.setBlood(sol.getBlood()-ran.nextInt(20));System.out.println(sol.getName()+"被攻击之后血量剩余"+sol.getBlood());}}