第三次课时总结
方法可以分为普通方法和构造方法两种,普通方法是用来描述对象的行为,而构造方法是用来实例化对象的。下面主要介绍一下构造方法。
构造方法格式如下:
public 类名(数据类型 参数名){
}
构造方法和普通方法的区别如下:
(1) 构造方法和普通方法的返回值不同,构造方法是不能定义返回值类型的,要注意的是不能定义返回值类型不代表构造函数没有返回值。
(2)构造函数的名字必须为类名。
此外,每一个类默认的都有一个构造方法,即通过 new 类名();的调用来创建一个对象。可以说构造方法主要由以下两个作用:
(1)用来实例化对象,例如:
Student stu = new Student();
当然我们也可以为类重新定义构造方法,此时系统默认的构造方法江北覆盖,不能再被调用。
(2) 给属性赋初值。
看如下代码:
Student stu = new Student(name);
在这里要注意的是new操作之后在堆内存中开辟了一块空间,在其中存储了属性,相关方法,即开始时付给的初值。但在栈内存中存储的是堆内存中构造函数所返回的地址。
下面在介绍一下方法重载,普通方法和构造方法都可以进行方法重载。要进行方法重载必须要满足一定的条件:
首先方法名字要完全相同。然后一下三个条件满足其中一个才可进行方法重载
(1)参数个数不同
(2)参数个数想通但参数类型不同
(3)参数和数类型均相同但出现的顺序不同
重载后的方法调用会根据参数的不同来自动调用。
this关键字表示的是当前的对象,当参数名和属性名相同时,要在属性名前加this.
练习:
编制一个简单回合制游戏。
源代码如下:
package second0706; //定义一个一个角色类 public class Role { private String name;//名字属性 private int hp;//生命属性 private int speed;//速度属性 private int atk;//攻击力属性 //设置名字的方法 public void setName(String n) { name = n; } //获取名字的方法 public String getName(){ return name; } //设置生命的方法 public void setHp(int n){ hp = n; } //获取生命的方法 public int getHp(){ return hp; } //设置速度的方法 public void setSpeed(int n){ speed = n; } //获取速度的方法 public int getSpeed(){ return speed; } //设置初始攻击力的方法 public void setAtk(int n){ atk = n; } //设置获取攻击力的方法 public int getAtk(){ return atk; } public void attack(Role r){ r.setHp(r.getHp()-this.getAtk()); System.out.println(r.getName()+"的气血石"+r.getHp()); } } package second0706; import java.util.Random; //定义一个战斗类 public class fight { //函数的入口 public static void main(String [] args){ //设置两个角色 Role r1 = new Role(); r1.setName("熊哥"); r1.setHp(100); r1.setSpeed((int)(Math.random()*14+1)); int j = (int)(Math.random()*29+1); r1.setAtk(j); Role r2 = new Role(); r2.setName("我"); r2.setHp(120); r2.setSpeed((int)(Math.random()*8+5)); int x =(int)(Math.random()*20+5); r2.setAtk(x); System.out.println("决斗开始"); for(int i =0;i<100;i++){ if(r1.getSpeed()>r2.getSpeed()){ r1.attack(r2); r2.attack(r1); if(r1.getHp()<=0||r2.getHp()<=0){ System.out.println("游戏结束"); if(r1.getHp()<=0){ System.out.println(r1.getName()+"被"+r2.getName()+"杀死了"); }else if(r2.getHp()<=0){ System.out.println(r2.getName()+"被"+r1.getName()+"杀死了"); } break; } }else if(r1.getSpeed()<r2.getSpeed()){ r2.attack(r1); r1.attack(r2); if(r1.getHp()<=0||r2.getHp()<=0){ System.out.println("游戏结束"); if(r1.getHp()<=0){ System.out.println(r1.getName()+"被"+r2.getName()+"杀死了"); }else if(r2.getHp()<=0){ System.out.println(r2.getName()+"被"+r1.getName()+"杀死了"); } break; } } } } }
相关推荐
高中历史第一单元第一次世界大战课时5单元学习总结学案新人教版选修3.pdf
2018_2019学年高中化学第三章水溶液中的离子平衡第二节第3课时酸碱中和滴定知识点总结及典例解析新人教版选修4
2021_2022学年新教材高中化学第三章铁金属材料第一节第1课时铁及其氧化物氢氧化物课件新人教版必修1202106251297
高中历史第六单元和平与发展课时4单元学习总结学案新人教版选修3.pdf
高中历史第五单元烽火连绵的局部战争课时8单元学习总结学案新人教版选修3.pdf
第⼆、第三课时是numpy和pandas的学习 总结:这两个库是python最基础的,也是处理数据最重要的。只要掌握了这两个库,就可以进⾏基础的数据处理。 第四课时、是数据获取与处理 各式各样的⽂本数据获取; 数据库; ...
第三章文档总结 课时30.去除OPlayer.Lite的广告(上) 课时31.去除OPlayer.Lite的广告(下) 课时32.分析WhatsApp聊天(上) 课时33.分析WhatsApp聊天(下) 课时34.Snapchat消息收发(上) 课时35.Snapchat消息收发(下)...
优达学城的相关总结 有不理解或者有疑惑的同学可以给我留言 人多的话我会留易信资料 自己总结 有错误希望能帮助总结 拼写错误不用指出了
2020_2021学年高中历史第三单元近代中国经济结构的变动与资本主义的曲折发展单元优化总结课时作业含解析新人教版必修220210306153
课时3:Spark RDD操作 课时4:SparkRDD原理剖析 课时5:Spark2sql从mysql中导入 课时6:Spark1.6.2sql与mysql数据交互 课时7:SparkSQL java操作mysql数据 课时8:Spark统计用户的收藏转换率 课时9:Spark梳理...
课时3:Spark RDD操作 课时4:SparkRDD原理剖析 课时5:Spark2sql从mysql中导入 课时6:Spark1.6.2sql与mysql数据交互 课时7:SparkSQL java操作mysql数据 课时8:Spark统计用户的收藏转换率 课时9:Spark梳理...
课时3:Spark RDD操作 课时4:SparkRDD原理剖析 课时5:Spark2sql从mysql中导入 课时6:Spark1.6.2sql与mysql数据交互 课时7:SparkSQL java操作mysql数据 课时8:Spark统计用户的收藏转换率 课时9:Spark梳理...
课时3:Spark RDD操作 课时4:SparkRDD原理剖析 课时5:Spark2sql从mysql中导入 课时6:Spark1.6.2sql与mysql数据交互 课时7:SparkSQL java操作mysql数据 课时8:Spark统计用户的收藏转换率 课时9:Spark梳理...
2016冀教版数学四年级上册第3单元《解决问题》(课时1)教学课件
第3课时 234的乘法口诀 学法指导 1结合问题自学课本第54-55页用红笔勾画出疑惑点独立思考完成自主学习和合作探究任务并总结规律方法 2针对自主学习中找出的疑惑点课上小组讨论交流答疑解惑 学习目
参加培训的第一课时,我就专心致志地听讲,把学习内容与以前操作不规范或不熟练的地方进行对比,感觉学习效果很好,受益匪浅。特别是PPT课件的学习,因为平时用得比较少,掌握的也不多,不想去进一步的学习,所以对...
第二课时 (MySQL的启动、登陆、相关命令以及重新配置MySQL) 《MySQL数据库入门》教学设计全文共7页,当前为第3页。一、回顾上节课内容,继续讲解MySQL的使用 《MySQL数据库入门》教学设计全文共7页,当前为第3页...
1 时分秒 第2课时 解决问题 RJ 三年级上册 1 (1)时间的简单计算 (2)掌握计算经过时间的方法并会计算简单的经 过时间 2 复习 探索 当堂 课堂 课后 导入 新知 检测 总结 作业 时分
| 第三课 | Java设计练习作文方案代码实现 | | 第四课 | 作文实践和总结 | ## 作文方案代码示例 ``` public class Composition { public static void main(String[] args) { String topic = "我的暑假"; String...
计算机应用基础实训总结报告 班级:P311210 学号:29 姓名:陈桂梅 计算机实训在不知不觉中就结束了,我感觉自己还有好多东西要学,还有好多的东西 不懂呢~这是我大学以来第三次实训,每次实训我都感觉学到了好多东西...