构造方法与方法重载:
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中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 ...2、调用类的构造方法时先调用父类的构造方法,在调用子类的构造方法 3、类初始化时,先初始化类的属性成员,在执行构造方法。
关于JAVA的构造方法,有一些练习的东西!
关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT ...
重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。程序源代码如下。 2、使用选择语句 程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。...
java 构造方法 java 构造方法 java 构造方法
●类的定义 ●对象的定义 ●类与对象 ●对象定义类的示例 ●实例变量 ●实例方法 ●实例成员的访问 ●对象的创建 ●构造方法 ●构造方法的特点 ●实例成员访问形式
【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 ) https://hanshuliang.blog.csdn.net/article/details/113746569 博客源码快照
毕业论文:哈希函数的构造方法,仅供参考。毕业论文 哈希函数
什么是构造方法?__init__,如何正确使用构造方法?什么是析构方法?__del__,如何正确使用析构方法?以及self的使用
java构造方法的学习对java学习者尤为重要
论文研究-多目标决策下Pareto非支配解的快速构造方法.pdf, 有效构造非支配解集可加快Pareto前沿的求解速度,提升多目标决策的质量和效率.在非支配解定义和性质分析基础上...
PHP的类、对象、构造方法。看懂了这个就懂了面和对象的程序设计想法。跨越各种语言的障碍。
java 使用构造方法的重载计算课程的GPA值 java 使用构造方法的重载计算课程的GPA值
79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java...
包含圆类的程序(含几种构造方法)java语言实现
阿基米德copula函数的构造方法,刘卫卫,,Copula 中一类被称为阿基米德Copula的函数具有形式简单、对称性、可结合性等其他Copula函数不具备的优点。正由于其自身的特点, 只要找到
java训练题目 编写程序实现子类对父类构造方法的引用?
一种图像稀疏贪婪索引字典的构造方法,基因算法
程序中描述了子类对象构建调用父类的构造方法,以及类变量和实例变量创建的不同过程
百度迁徙规模指数构造方法反演.docx