生活中,具体的某个事物就是一个对象,而根据对象相似的特征以及行为则能进行归类。在JAVA这一面向对象编程的语言中,类与对象的概念实际和现实生活中的类与对象极其相似,也可以说就是生活中类与对象的一种计算机语言化。在JAVA中,对象就是类的实例化。
类具有属性和方法,而属性大多私有,方法大多公有,这也和JAVA封装有关。而对于私有属性,既然不能直接调用,那么也就只能通过公有的方法来对私有属性进行操作。
对于一个类除去属性和普通方法,还有一个最为关键的东西,那就是构造方法,顾名思义,其就是在对象创建之时对其进行的初始化。说到类的创建,其中的new 关键字则是负责开辟一个新的内存空间,而构造方法则是将类实例化,并初始化属性。至于构造方法与普通方法的区别,其最重要的是构造方法的名字必须为类名,并且无返回值类型。
对于同名方法形参不同,则叫做方法的重载,而方法的重载则大大加大了程序的灵活性。顾名思义,方法重载也就是方法再次定义,但再次定义之时除去参数不一致以外,其他均是相同。
在类中,还有一个关键字,其叫做this。this,在英文中是这个的意思,是一个指示代词。而在类中,this代表的则是对象。
在学习类与对象的练习中,遇到的一个问题,就是怎么从这个类引用另一个类中构建的对象。其实很简单,通过在方法中增加类的形参就可以了。就与String一样,String也是一个类,既然String 也能写在方法中,那么其他自己定义的类又有何不可呢?
下面就是对类与对象所编的一个坑爹程序:
public class 盖伦和寒冰的回合制打斗 { public static void main(String [] args){ Dema gailun=new Dema(3500,18,180,150); Hanbing aixi=new Hanbing(1800,18,380,80); int i=0; String dema="qweaaraqaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",hanbing="rwaaawaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; while(aixi.getBlood()>0 && gailun.getBlood()>0){ i++; //开始攻击 埃希先上 if (i%2==1){ if(hanbing.charAt(i/2+1)=='a') aixi.a(gailun); else if(hanbing.charAt(i/2+1)=='w') aixi.w(gailun); else aixi.r(gailun); System.out.println(aixi.getName()+"攻击"+gailun.getName()+","+gailun.getName()+"还剩"+gailun.getBlood()+"点血"); } else{ if(dema.charAt(i/2)=='a') gailun.a(aixi); else if (dema.charAt(i/2)=='q') gailun.q(aixi); else if (dema.charAt(i/2)=='w') gailun.w(aixi); else if (dema.charAt(i/2)=='e') gailun.e(aixi); else gailun.r(aixi); System.out.println(gailun.getName()+"攻击"+aixi.getName()+","+aixi.getName()+"还剩"+aixi.getBlood()+"点血"); } } if (aixi.getBlood()<=0) System.out.println(gailun.getName()+" 终结 "+aixi.getName()+","+gailun.getName()+"已经接近神!"); else System.out.println(aixi.getName()+" 终结 "+gailun.getName()+","+aixi.getName()+"已经接近神!"); } } public class Dema{ //德玛西亚盖伦的基本属性 private String name="盖伦"; private int blood; private int level; private int gong; private int fang; //构造方法 public Dema(int blood,int level,int gong,int fang){ this.blood=blood; this.level=level; this.gong=gong; this.fang=fang; } public String getName(){ return name; } //获得与设置血量的方法 public int getBlood(){ return blood; } public void setBlood(int blood){ this.blood=blood; } //获得攻击力的方法 public int getGong(){ return gong; } //获得防御力的方法 public int getFang(){ return fang; } //平A与技能的方法 //盖伦平A的方法 public void a(Hanbing hanbing){ hanbing.setBlood(hanbing.getBlood()-gong+hanbing.getFang()); } //盖伦Q的方法 public void q(Hanbing hanbing){ hanbing.setBlood(hanbing.getBlood()-(int)(gong*1.4)+hanbing.getFang()); } public void w(Hanbing hanbing){ hanbing.setBlood(hanbing.getBlood()-(int)(gong*1.5)+hanbing.getFang()); } public void e(Hanbing hanbing){ hanbing.setBlood(hanbing.getBlood()-(int)(gong*1.6)+hanbing.getFang()); } public void r(Hanbing hanbing){ hanbing.setBlood(hanbing.getBlood()-(int)(gong*1.85)+hanbing.getFang()); } } public class Hanbing { private String name="埃希"; private int blood; private int level; private int gong; private int fang; //构造方法 public Hanbing(int blood,int level,int gong,int fang){ this.blood=blood; this.level=level; this.gong=gong; this.fang=fang; } public String getName(){ return name; } //防御获取 //获得与设置血量的方法 public int getBlood(){ return blood; } public void setBlood(int blood){ this.blood=blood; } //获得攻击力的方法 public int getGong(){ return gong; } //获得防御力的方法 public int getFang(){ return fang; } //平A与技能的方法 public void a(Dema dema){ dema.setBlood(dema.getBlood()-gong+dema.getFang()); } public void w(Dema dema){ dema.setBlood(dema.getBlood()-(int)(gong*1.5)+dema.getFang()); } public void r(Dema dema){ dema.setBlood(dema.getBlood()-(int)(gong*1.7)+dema.getFang()); } }
相关推荐
JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...
在“java类与对象教学(2)”中,我们将深入探讨几个关键知识点:对象重构、`this`关键字、静态变量与静态方法,以及对象的进一步讨论和包的使用。 1. **对象重构**: 重构是改进代码结构的过程,不改变其外部行为,...
"java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...
自己的见解java类与对象
总之,Java类与对象是程序设计的关键元素,理解和掌握它们对于成为一名优秀的Java开发者至关重要。通过深入研究源码、利用合适的工具,并在实践中不断应用,我们可以不断提升对这一核心概念的理解和运用能力。
类与对象的基本概念java类与对象的基本概念
详细的描述了类和对象的相关内容,清晰明了,绝对的好PPT
java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象...
本科课程【java程序设计】实验2 - 类与对象编程练习_java类与对象实验_1 + 1=王的博客-CSDN博客.mht
Java类与对象基本概念PPT教案学习.pptx
类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...
详细的描述了类和对象的相关内容,清晰明了,绝对的好PPT
1. **类与对象**:Java中的基本构建块是类,它代表了现实世界中的事物或概念。对象则是类的实例,具有类定义的属性和行为。学习如何创建和使用类及对象,是理解Java面向对象编程的关键。 2. **封装**:封装是面向...
java关于类和对象课件,类的继承 方法的重写 Object类 对象转型 多态
面向对象的基本概念 类声明、对象创建 参数传递 this引用 类的管理(包和JAR文件) 字符串类 数组