类与对象总结_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 类与对象总结

类与对象总结

 2013/11/30 18:26:01  打酱油的小瓶子  程序员俱乐部  我要评论(0)
  • 摘要:java代码以类为单位。生活中的类根据对象相似的特征和相似的行为进行的归类后得来的;程序中的类是根据对象特征和行为进行的一种抽象定义。然而,什么是对象?任何一个具体的东西或者确定的事物都是对象。例如:某台电脑就是一个对象。它的特征有:颜色,大小,型号,价格,材质,重量,品牌……它的行为有:打字,计算,开机,玩游戏……1.类的基本格式为:publicclass类名{}定义其中的属性格式:访问修饰符数据类型属性名;定义其中的构造方法格式:public类名(数据类型参数名){}
  • 标签:总结
    java代码以类为单位。生活中的类根据对象相似的特征和相似的行为进行的归类后得来的;程序中的类是根据对象特征和行为进行的一种抽象定义。然而,什么是对象?任何一个具体的东西或者确定的事物都是对象。
    例如:某台电脑就是一个对象。
          它的特征有:颜色,大小,型号,价格,材质,重量,品牌……
          它的行为有:打字,计算,开机,玩游戏……
   1. 类的基本格式为:public class 类名{}
   定义其中的属性格式:访问修饰符 数据类型 属性名;
   定义其中的构造方法格式:public 类名(数据类型 参数名){}(其构造方法可以为带参也可为不带参
   2.实例化对象的关键字是new,new的作用是开辟一块新的内存空间。
   其格式为:类名 对象名 = new 类名(参数值)(可带参数也可不带参数
   用对象名即可访问类中相应的方法,格式为:对象名.方法名(实参)(根据实际情况判断要不要带实参。
   3.方法重载,在生活中也常常见到,例如从学校回家,可以选择坐车,走路,骑自行车;洗袜子可以选择用肥皂洗也可以选择用洗衣粉,或者洗衣液。
   程序中方法重载的条件为:方法名相同,参数个数,类型,顺序必要有一个不同。
   判断调用的方法为哪种重载方法则是看调用所传递的参数来决定调用哪个。
   4.在类中常常使用到this关键字,关于this关键字的用途,有两种:在参数名与类中属性名相同时,用来区分两者;还有就是可以用this调用构造方法。
   程序中常常这样写到:this.add(或者其他),此时的this是指调用该方法的对象。
通过此次的学习,对于类和对象有了更加深刻的了解,也为以后写代码程序铺垫了更好的路。

练习:拳皇
package 拳皇;

public class King {
private String name; //定义名字属性
private int power; //定义攻击力属性
private int Hp; //定义血量属性

//定义一个带参的构造函数
public King(String name,int power,int Hp){
this.name=name; //将传入的name赋给调用该构造函数的对象的name属性
this.power=power; //将传入的power赋给调用该构造函数的对象的power属性
this.Hp=Hp; //将传入的Hp赋给调用该构造函数的对象的Hp属性
}
//定义攻击方法
public void attack(King k){
if(this.Hp>0){ //当血量大于0的时候才可以执行以下语句
k.Hp=k.Hp-this.power; //血量减少量看对方的攻击力
System.out.println(this.name+"攻击了"+k.name+"  "+k.name+"血量减少了"+this.power);
System.out.println(this.name+"的血量剩余为: "+this.Hp+"   "+k.name+"的血量剩余为:  "+k.Hp);

//判断两人对决时的胜负
if(k.Hp<0){ 
            System.out.println("胜利者为: "+this.name); 
            System.out.println();     
            } 
        else if(this.Hp<0){
            System.out.println("胜利者: "+k.name);
            System.out.println();
        } 
}

}

//主函数入口
public static void main(String[] args) {
//实例化四个对象,分为两个队
King r1 = new King("麻宫雅典娜",100,500);//实例化r1对象
King r2 = new King("八神庵",120,600); //实例化r2对象
King k1 = new King("莉安娜·哈迪伦",100,600);//实例化k1对象
King k2 = new King("克里斯",130,700); //实例化k2对象
//两个方队的比拼
while(r1.Hp>=0&&k1.Hp>=0){
r1.attack(k1);
k1.attack(r1);
}
if(r1.Hp>=0){
while(r1.Hp>=0&&k2.Hp>=0){
r1.attack(k2);
k2.attack(r1);
}
if(r1.Hp>=0){
System.out.println("第一队胜利");
}
if(k2.Hp>=0){
while(r2.Hp>=0&&k2.Hp>=0){
r2.attack(k2);
k2.attack(r2);
}
if(r2.Hp>=0){
System.out.println("第一队胜利");
}
if(k2.Hp>=0){
System.out.println("第二队胜利");
}
}
}
if(k1.Hp>=0){
while(r2.Hp>=0&&k1.Hp>=0){
r2.attack(k1);
k1.attack(r2);
}
if(k1.Hp>=0){
System.out.println("第二队胜利");
}
if(r2.Hp>=0){
while(r2.Hp>=0&&k2.Hp>=0){
r2.attack(k2);
k2.attack(r2);
}
if(r2.Hp>=0){
System.out.println("第一队胜利");
}
if(k2.Hp>=0){
System.out.println("第二队胜利");
}
}
}
}
}

发表评论
用户名: 匿名