当前位置:首页 > 开发 > 编程语言 > Java > 正文

浅谈java类与对象

发表于: 2015-05-23   作者:15700786134   来源:转载   浏览:
摘要:       java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维

      java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维方式。这可能就是java如此流行的原因之一。

        一个类在另一个类中不能直接被调用,而是通过创建对象。类也可以继承另一个类,即子类继承父类,子类能继承父类所有的方法和属性,在此之外,子类可以写自己的方法,添加属性,或者重写父类中的方法。继承可以提高代码的重用率,增加代码的结构化。

        属性与方法在类中可以被定义成公有或私有,私有则不能在别的类中被直接调用,需要为该方法或属性添加set,get方法。通常定义成私有是为了保护数据,避免其他调用者随意更改。

         下面以一个奥特曼与小怪兽,boss之间打斗的例子来说明类与对象的具体用法:

 

   定义一个fight类,用于奥特曼打小怪兽,boss,其中的属性有血量,攻击值,方法是fight,给怪兽,boss减血。

      public class Fight {
          private String name;  
          private int blood;      //血量
          private int power;   //攻击
         
         
          public Fight(String name,int blood,int power){                                    //构造函数,用于赋初始值
              this.name=name;
              this.power=power;
              this.blood=blood;
          }
     
        //访问name                                                                               //给私有成员增加get,set方法
      public String getname(){ 
         return this.name;
      }
        //访问blood
       public int getblood(){
           return this.blood;
       }
       //访问攻击值
        public int getpower(){
            return this.power;
        }
        //给blood ,power重新赋值
        public void setblood(int bloodvalue){
            this.blood=bloodvalue;
        }
        public void setpower(int powervalue){
            this.power=powervalue;
        }
       
      //奥特曼打小怪兽   boss
       public void fighter1(Fight2 figh,Fight3 fighter3 )
        {                
       
             figh.setblood(figh.getblood()-power);
              System.out.println(name+"正在攻击"+figh.getname()+" "+
                                               figh.getname()+"血量减少"+power+ "现在血量是"+figh.getblood());
             
            fighter3.setblood(fighter3.getblood()-power);
            System.out.println(name+"正在攻击"+fighter3.getname()+" "+fighter3.getname()+"血量减少了"+power+
                                                         "现在血量是"+fighter3.getblood());
              if(figh.getblood()<=0&&fighter3.getblood()<=0)
              {
                  System.out.println(getname()+"win!");
              }
              else {
                  figh.fighter2(this,fighter3);
              }
                 
          }
         
}

接下来的Fight2,Fight3类与fight类类似,在此就不再赘述

 

public class Fight2 {

    private String name;
    private int blood;      //血量
    private int power;   //攻击
   
    public Fight2(String name,int blood,int power){
        this.name=name;
        this.power=power;
        this.blood=blood;
    }
   //访问name 
    public String getname(){
        return this.name;
    }
     
    //访问blood
    public int getblood(){
        return this.blood;
    }
    //访问攻击值
    public int getpower(){
        return this.power;
    }
   
    //给blood ,power重新赋值
    public void setblood(int bloodvalue){
        this.blood=bloodvalue;
    }
    public void setpower(int powervalue){
        this.power=powervalue;
    }
   
      //小怪兽打奥特曼   小怪兽打boss
      public void fighter2(Fight fi,Fight3 fighter3){
         int bloodx=fi.getblood();
         bloodx=bloodx-power;
         fi.setblood(bloodx);
          System.out.println(name+"正在攻击"+fi.getname()+" "+
                                           fi.getname()+"血量减少"+power+ "现在血量是"+fi.getblood());
         
        fighter3.setblood(fighter3.getblood()-power);
        System.out.println(name+"正在攻击"+fighter3.getname()+" "+fighter3.getname()+"血量减少了"+power+
                                                     "现在血量是"+fighter3.getblood());
          if(fi.getblood()<=0&&fighter3.getblood()<=0)
          {
              System.out.println(getname()+"win!");
          }
          else {
              fighter3.fight3(fi,this);
          }
             
      }
   

}

 

public class Fight3 {

      private String name;
      private int blood;
      private int power;
     
      //赋初值
      public Fight3(String name,int blood,int power){
          this.name=name;
          this.power=power;
          this.blood=blood;
      }
      //访问name
      public String getname(){
           return this.name;
       }
       //访问blood
       public int getblood(){
           return this.blood;
       }
     //访问攻击者值
        public int getpower(){
            return this.power;
        }
     
        //给blood ,power重新赋值
        public void setblood(int bloodvalue){
            this.blood=bloodvalue;
        }
        public void setpower(int powervalue){
            this.power=powervalue;
        }
       
       
      public void fight3(Fight fi,Fight2 figh){
          //boss打奥特曼
          fi.setblood(fi.getblood()-power);
          System.out.println(name+"正在攻击"+fi.getname()+" "+
                                                     fi.getname()+"血量减少了"+power+
                                                     "现在血量是"+fi.getblood());
          //boss打小怪兽
          figh.setblood(figh.getblood()-power);
          System.out.println(name+"正在攻击"+figh.getname()+" "+figh.getname()+"血量减少了"+power+
                                                     "现在血量是"+figh.getblood());
          if(fi.getblood()<=0&&figh.getblood()<=0){
              System.out.println(getname()+" win!");
          }
          else{
              fi.fighter1(figh, this);
             
      }
   
      }


}

         

浅谈java类与对象

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
JAVA集合类浅谈: 前言: 集合包是Java中最常用的包 集合包中常用的主要有Collection和Map两个接口
浅谈一下JAVA对象,对象引用以及对象赋值 今天有班级同学问起JAVA对象的引用是什么。正好趁着这次机
1、包、接口、抽象类、类、封装类、内部类、对象、this、单列、堆 2、访问权限:public、protected、
定义对象的类: 一个对象的状态(属性或特征)是指那些具有他们当前值的数据域 一个对象的行为是由
Java类的装载 在Java中,类装载器把java类装载到虚拟机中,经过装载,链接和初始化三个步骤来完成。
Java类的装载 在Java中,类装载器把java类装载到虚拟机中,经过装载,链接和初始化三个步骤来完成。
类的生命周期: Java类的初始化: 本阶段负责为类变量赋正确的初始值。(类变量即静态变量) Java编
1 内存中对象 类中声明一个变量时,要么是在类级,要么是在方法级。程序运行时会给内存分配一定的内
Java类与对象的初始化   面试的时候,经常会遇到这样的笔试题:给你两个类的代码,它们之间是继承
清单1. 抽象机制,面向对象程序设计方式     java所基于Smalltalk的特性表现一种纯粹的面向对象
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号