`
狼迹天涯
  • 浏览: 6857 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

构造方法

    博客分类:
  • java
阅读更多

构造方法与方法重载:
1.构造方法:
用来创建对象和初始化属性值.
分为有参构造器和无参构造器.
每一个类都有一个默认的无参构造器,通过"new 类()"来调用从而创建对象。例如:Student stu=new Student();中的Student()就叫做Student类的无参构造器方法。
构造方法没有返回值。方法名必须和类名完全一致。每次使用构造器都会创建一个新的对象。


2.方法重载:
在同一个类中,定义多个同名但参数类型、参数数量或参数顺序不同的方法,叫做方法重载。例如:
public void study(){
  System.out.println("什么都没学");
}
public void study(int hour){
  System.out.println("不知道在学什么");
}
两者即为方法重载。
方法重载要求:1.方法名必须相同(即上例中的study),2.参数类型、数量及顺序至少有一点不同(上例中,()一个无参,(int hour)一个为整形参)。
在做同一件事情,但面向对象或做的事情的结果不唯一时经常使用方法重载。

代码示例:

public class Police{
	//定义一个Police类

	public String name;
	public int hp;
	
	public Police(String n,int h){
		name = n;
		hp = h;
	}
	//构造方法为属性赋值

	public void fight(Boss b){
		System.out.println(name+"警察对"+b.name+"Boss造成10点伤害");
		b.hp-=10;

	}
	public void fight(Thief t){
		System.out.println(name+"警察对"+t.name+"小贼造成15点伤害");
		t.hp-=15;
	}
	//方法重载
}


public class Thief{
	//定义Thief类
	public String name;
	public int hp;
       
	public Thief(String n,int h){
		name=n;
		hp=h;
	}

	public void fight(Police p){
		System.out.println(name+"小贼对"+p.name+"警察造成1点伤害");
		p.hp-=1;
	}
}
		

public class Boss{
	//定义Boss类
	public String name;
	public int hp;

	public Boss(String n,int h){
                name=n;
		hp=h;

	}

	public void fight(Police p){
		System.out.println(name+"Boss对"+p.name+"警察造成7点伤害");
		p.hp-=7;
	}
}
	

public class Manager{
	//创建管理文件
                  public static void main(String[] args){

		Police po=new Police("A",100);
		Boss bo=new Boss("B",100);
		Thief th=new Thief("C",100);

		
		java.util.Random r=new java.util.Random();
		int n=r.nextInt(2);
                //产生随机数,利用随机数使结果不唯一
		if(n==0){

			while(bo.hp>0){
                		po.fight(bo);
                		bo.fight(po);
			}
       			System.out.println("Boss血量为0,警察胜利");
       		}
		else{
			while(th.hp>0){
                		po.fight(th);
                		th.fight(po);
       			}
       			System.out.println("Thief血量为0,警察胜利");
       		};
	}	 
	
}

 
运行结果:

 

 

A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 A警察对BBoss造成10点伤
 BBoss对A警察造成7点伤害
 Boss血量为0,警察胜利

 

分享到:
评论

相关推荐

    构造方法JAVA构造方法

    Java构造方法是面向对象编程中的一个关键概念,用于初始化新创建的对象。在Java类中,构造方法是一个特殊的方法,它的名字必须与类名完全相同,没有返回类型,甚至不包括void关键字。当我们创建一个类的新实例时,...

    java 构造方法的资源

    在Java编程语言中,构造方法(Constructor)是一个特殊的方法,它的主要作用是初始化新创建的对象。构造方法与类名相同,没有返回类型,也不需要在方法签名中声明void。了解和熟练使用构造方法是Java面向对象编程的...

    java中带有不同构造方法的程序内存分析

    本文件主要探讨了Java中带有不同构造方法的程序如何影响内存分析,这包括无参构造方法、带参数的构造方法以及它们在内存分配中的应用。 首先,让我们了解一下构造方法。构造方法是一种特殊的方法,它的名字与类名...

    java面试题静态加载顺序构造方法

    Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 ...2、调用类的构造方法时先调用父类的构造方法,在调用子类的构造方法 3、类初始化时,先初始化类的属性成员,在执行构造方法。

    java枚举类的属性、方法和构造方法应用实战

    Java 枚举类的属性、方法和构造方法应用实战 Java 枚举类是一种特殊的类,它拥有自己的属性、方法和构造方法。本文将详细介绍 Java 枚举类的属性、方法和构造方法应用实战,结合实例形式分析了 Java 枚举类的定义、...

    java 构造方法PPT

    关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT ...

    幻方构造方法

    幻方构造方法的掌握不仅可以提升逻辑思维能力,而且在数学研究、游戏设计等多个领域都有应用价值。 首先,幻方定义中提到了幻方的基本概念。将1到n^2个连续自然数填入n×n的方格中,如果每行、每列以及主对角线上的...

    百度迁徙规模指数构造方法反演.docx

    "百度迁徙规模指数构造方法反演" 百度迁徙规模指数作为一个无量纲数,其构造方法并未公开。然而,了解该指数的构造方法对于分析人口迁徙规律和COVID-19疫情防控具有重要意义。研究表明,百度迁徙规模指数与实际迁徙...

    java构造方法

    ### Java构造方法详解 #### 一、构造方法基础概念 构造方法是Java中一种特殊的方法,主要用于初始化新创建的对象。每个类至少有一个构造方法。如果程序员没有显式地定义构造方法,Java编译器会自动为类添加一个无...

    实验四 类的构造方法与Java流程控制语句

    重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。程序源代码如下。 2、使用选择语句 程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。...

    类和对象、构造方法总结

    它可能详细介绍了如何设计和使用构造方法,包括参数化的构造方法、重载构造方法、以及构造方法与this关键字和super关键字的配合使用。 总之,类和对象是面向对象编程的基础,它们帮助我们将复杂的问题抽象为独立的...

    阿基米德copula函数的构造方法

    在阿基米德copula函数中,有两种主要的构造方法:一种是乘积生成元方法,另一种是混合多元阿基米德Copula函数方法。乘积生成元方法通过将一个或多个生成元进行乘积操作,从而得到新的阿基米德copula函数。这种构造...

    java 使用构造方法的重载计算课程的GPA值

    在Java编程语言中,构造方法是用于初始化新创建对象的特殊方法。它们的名字与类名相同,不返回任何类型,并且通常与new关键字一起使用。构造方法的重载(Overloading)是面向对象编程的一个重要特性,允许我们在同一...

    类与对象、构造方法

    ●类的定义 ●对象的定义 ●类与对象 ●对象定义类的示例 ●实例变量 ●实例方法 ●实例成员的访问 ●对象的创建 ●构造方法 ●构造方法的特点 ●实例成员访问形式

    【Flutter】Dart 面向对象 ( 命名构造方法 工厂构造方法 命名工厂构造方法 ).zip

    【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 ) https://hanshuliang.blog.csdn.net/article/details/113746569 博客源码快照

    Java 构造方法

    Java 构造方法是编程语言中的一个重要概念,特别是在面向对象编程中,如Java。它们是类的特殊方法,用于初始化新创建的对象。当一个对象被创建时,构造方法会被自动调用,为对象的成员变量赋值,进行必要的设置,...

    包含圆类的程序(含几种构造方法)java语言实现

    在给定的文件中,我们看到了一个名为`Circle`的类,它代表了一个圆,并提供了多种构造方法来创建圆的对象。此外,还提供了设置坐标、半径以及计算周长和面积的方法。下面,我们将深入探讨这个`Circle`类的实现细节...

    正交表的构造方法及Matlab实现.pdf

    本文档主要阐述了正交表的构造方法,并提供了利用Matlab软件实现正交表构造的方案。 正交表构造的理论基础来源于组合数学和有限域的概念。首先,介绍L(tm型正交表构造方法,这涉及到有限域GF(t)的定义,有限域中...

    python构造方法.html

    什么是构造方法?__init__,如何正确使用构造方法?什么是析构方法?__del__,如何正确使用析构方法?以及self的使用

Global site tag (gtag.js) - Google Analytics