`
Only_one.zy
  • 浏览: 5627 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java 类与对象

阅读更多

    生活中,具体的某个事物就是一个对象,而根据对象相似的特征以及行为则能进行归类。在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编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...

    java类与对象教学(2)

    在“java类与对象教学(2)”中,我们将深入探讨几个关键知识点:对象重构、`this`关键字、静态变量与静态方法,以及对象的进一步讨论和包的使用。 1. **对象重构**: 重构是改进代码结构的过程,不改变其外部行为,...

    java类与对象实例

    "java类与对象实例" 在 Java 中,类和对象是两个紧密相连的概念。类是一种蓝图,用于创建对象,而对象是类的一个实例。类描述了对象的基本结构,包括属性、方法和事件等。类设计的关键概念包括封装、继承和多态。 ...

    java类与对象

    自己的见解java类与对象

    Java类与对象详解PPT课件.pptx

    "Java类与对象详解" Java类与对象详解是Java编程语言的基础知识,本节将详细介绍Java类和对象的定义、实例化、成员变量、构造方法、访问修饰符、继承等知识点。 一、Java类的定义和实例化 在Java中,类是创建...

    很棒的java类与对象的电子书

    ### Java类与对象的核心概念及应用 #### 一、引言 在当今的软件开发领域,Java作为一种广泛使用的编程语言,其重要性不言而喻。对于初学者来说,找到一本既通俗易懂又能深入浅出讲解Java核心概念的书籍至关重要。...

    Java类与对象

    详细的描述了类和对象的相关内容,清晰明了,绝对的好PPT

    java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java

    java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象...

    本科课程【java程序设计】实验2 - 类与对象编程练习_java类与对象实验_1 + 1=王的博客-CSDN博客.mht

    本科课程【java程序设计】实验2 - 类与对象编程练习_java类与对象实验_1 + 1=王的博客-CSDN博客.mht

    Java类与对象基本概念PPT教案学习.pptx

    Java类与对象基本概念PPT教案学习.pptx

    java面向对象、类与对象的定义笔记

    类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...

    Java类与对象2

    详细的描述了类和对象的相关内容,清晰明了,绝对的好PPT

    Java面向对象程序设计课后答案全解

    1. **类与对象**:Java中的基本构建块是类,它代表了现实世界中的事物或概念。对象则是类的实例,具有类定义的属性和行为。学习如何创建和使用类及对象,是理解Java面向对象编程的关键。 2. **封装**:封装是面向...

    java关于类和对象课件

    java关于类和对象课件,类的继承 方法的重写 Object类 对象转型 多态

    JAVA类和对象

    面向对象的基本概念 类声明、对象创建 参数传递 this引用 类的管理(包和JAR文件) 字符串类 数组

Global site tag (gtag.js) - Google Analytics