1. 类和对象的定义
对象是指一个具体的事物或物体,对象可以从它的特征和用途来描述
。
而类是有相同或相似属性的全体对象的集合,又由于java中的类是面
向对象的,故这个类必须是能够描述这些对象的相同或相似属性邪恶最一般的
模版,这个模板就是一个class。在在主文件中通过调用构造函数来实现,其模
版的功能。
2. 类的结构(格式)
由于类是面向对象的,而描述对象要从对象的特征和用途两方面考虑
,
1.定义特征的格式为:
private 数据类型 属性名;
2.定义用途的格式为:
public 返回值数据类型 方法名(数据类型 参数名){
//这里填程序
}
调用格式为:
对象名.方法名(参数值);
(注意@:若想用途函数中带两个或两个以上的参数 ,就用“,”分隔
符隔开)
3.构造函数
为使定义的类能在主函数中被调用必须构造一个构造函数,若不创建
构造函数,系统会默认构造函数为无参数构造函数,
其格式为:
public 类名(){}
其调用方式为:
类名 对象名= new 类名();
其他类型的构造函数还有:
public 类名(数据类型 参数){}
(注意:若想带多个参数则同注意@)
在一个类中可以定义多个构造器函数,这种方法叫构造器重载。
在主函数中可以只使用一个构造器,系统会根据主函数的格式选择适
当的构造器;如果类中定义了构造器函数,则主函数中不能使用默认构造器函
数。
4.同样的方法也适用于一般函数的重载,这里不细说。
3. 构造器函数与一般函数的区别:
1.构造方法不能定义返回值数据类型;普通方法必须要定义返回值数
据类型;
2.构造方法的方法名必须和类名完全相同;普通方法的方法名可以任
意定义;
3.构造方法是用来实例化对象的;普通方法方法用来执行对象的行为
。
4.构造方法每调用一次就实例化一个新的对象;普通方法只要对象不
变,调用的还是同一个方法。
4.this关键字
当参数名和属性名相同的时候,使用this来区分,加了this的表示属
性,没有加的则是参数。
哪一个对象在调用方法,那么方法中的this关键字就表示该对象。
5.值传递和引用传递
值传递:值传递适用于java所有的基本数据类型和String类型
byte , short int long float double char
boolean.
引用传递:
引用传递适用于java所有的引用类型(类类型,对象类型).
(注意:引用传递传的是地址)
下面是一个关于类与对象的程序:
//这是一个boss类
public class Boss{
//声明名字属性
private String name;
//声明血量属性
private int blood;
//定义一个设置名字属性的方法
public void setName(String n){
//将参数n的值赋值给name
name=n;
}
//定义一个设置血量属性的方法
public void setBlood(int n){
//将参数n的值赋值给blood
blood=n;
}
//定义一个返回姓名属性的方法
public String getName(){
return name;
}
//定义一个返回血量属性的方法
public int getBlood(){
return blood;
}
//定义一个剑圣减血行为
public void fight2(Jiansheng js){
js.setBlood(js.getBlood()-250);
System.out.println(name+"打了剑圣250点血,剑圣还
剩"+js.getBlood()+"点血");
}
}
//这是一个人物类
public class Jiansheng{
//声明剑圣的姓名属性
private String name;
//声明剑圣的血量属性
private int blood;
//定义一个设置姓名属性值的方法
public void setName(String n){
//将参数n的值赋值给name
name=n;
}
//定义一个设置血量属性的方法
public void setBlood(int n){
//将参数n的值赋值给blood
blood=n;
}
//定义一个返回姓名属性值的方法
public String getName(){
return name;
}
//定义一个返回血量属性值的方法
public int getBlood(){
return blood;
}
//定义一个减血行为
public void fight1(Boss bs){
bs.setBlood(bs.getBlood()-2500);
System.out.print(name+"打了boss2500点血,boss还
剩"+bs.getBlood()+"点血");
}
}
//这是主函数
public class Main{
//定义程序入口的主函数
public static void main(String [] args){
//实例化一个剑圣对象
Jiansheng js=new Jiansheng();
//设置js名字
js.setName("剑圣");
//设置js血量
js.setBlood(18000);
//实例化一个boss对象
Boss bs=new Boss();
//设置boss名字
bs.setName("boss");
//设置boss血量
bs.setBlood(180000);
while((bs.getBlood()>0)&&(js.getBlood()>0)){
js.fight1(bs);
if(bs.getBlood()<=0){
System.out.print("剑圣胜利");
break;
}
bs.fight2(js);
if(js.getBlood()<=0){
System.out.print("boss胜利");
break;
}
}
}
}
分享到:
相关推荐
在IT领域,图片对比是一项常见的任务,特别是在图像处理、计算机视觉和数据分析中。在这个场景下,用户提到的项目仅支持BMP格式的图片对比,它主要用于检查两个BMP图像是否像素点对点完全一致。BMP是Bitmap的缩写,...
总之,这个“动物园的管理系统”涵盖了C++的许多核心概念和技术,包括面向对象编程、容器、文件操作、异常处理以及可能的图形用户界面设计。开发者在完成这个项目的过程中,不仅能提升C++技能,还能锻炼问题解决和...
至于“大家先帮我看看有什么不足的地方”,这表明开发者希望得到社区的反馈和建议。评估系统可以从以下方面入手: 1. **用户体验**:界面是否友好,操作流程是否顺畅,是否有足够的引导和提示。 2. **性能优化**:...
struts,hibernate,spring,初学,写不好,但是实在可以用
他反复提及“请大家多多指教”,表达了对资深开发者和同行的谦逊态度,希望从他们那里获取反馈和学习机会,以便不断优化和完善系统功能。 【标签】:“c#”指的是Microsoft公司推出的面向对象的编程语言,它以其易...
Devexpress 是一个强大的开发工具包,主要用于创建 Windows Forms 和 ASP.NET 应用程序。它提供了丰富的用户界面组件,包括表格、图表、日历、菜单等,以帮助开发者构建功能丰富的应用程序。在本文中,我们将探讨...
在进行毕业设计、课程设计或大作业时,选择具备学习借鉴价值的项目可以帮助你理解和应用所学知识,同时也可以通过修改和扩展来实现其他功能。 通过参与实际项目,你可以应用所学的理论知识,深入了解软件开发或其他...
理解模板类和函数模板的用法,以及模板特化,可以写出更灵活的代码。 4. **STL(Standard Template Library)**:STL是C++的标准库,包含容器(如vector、list、map等)、迭代器、算法和函数对象。熟悉并能熟练运用...
从“请多多指教”这个标签来看,开发者可能是一位新手,或者是希望得到用户反馈以改进游戏的人。这样的标签通常意味着开发者欢迎用户提出意见和建议,以便他们能够学习并优化产品。对于这样的游戏,玩家的体验反馈尤...
在本文中,我们将深入探讨如何使用C#语言...作为新手,不要害怕犯错误,勇于接受他人的指导和建议,这将有助于你在编程道路上不断进步。对于此代码示例,如果你有任何疑问或改进的想法,欢迎与社区中的专家交流讨论。
周记的主题是“第五周心德”,由赵占昆和张海帆两位指导教师监督,地点在石家庄。这篇周记遵循了学院教务处制定的规范,包括使用黑墨水笔书写或特定格式的电子文档打印,每周至少400字,总篇数不少于8篇,且内容需与...
【标题】"e语言简单播放器多多指教"揭示了这个项目是使用“e语言”(易语言)开发的一个基础音乐播放器。易语言是一种中国本土设计的编程语言,其目标是让编程变得简单易学,尤其适合初学者。这个播放器可能是作者...
综上所述,"即时消息弹出窗口-多多指教"项目利用JavaScript、Ajax和JSP等技术,实现了动态、实时的消息提醒功能,提升了网页应用的互动性和用户满意度。通过对这些技术的深入理解和实践,开发者可以创造出更多富有...
QQ程序的抽屉效果是一种常见的用户界面设计,它在移动应用和现代软件设计中非常流行。这个设计概念来源于现实世界中的抽屉,我们通常将不常用但又需要的东西藏在抽屉里,抽屉效果在软件中也起到了类似的作用,隐藏...
我做了幅1:500地形图请各位高人多多指教
8. **第十一章 类和对象**:C++的面向对象编程主要基于类和对象。类是数据和操作的组合,对象是类的实例。初学者将学习如何定义类,创建对象,以及理解封装、继承和多态等面向对象概念。 9. **第十二章 文件操作**...
【标题】"MYQQ源代码下载 c#版本的 多多指教" 涉及的知识点主要包括C#编程语言、网络通信、图形用户界面(GUI)设计以及软件功能实现。 1. C#编程语言:MYQQ源代码是用C#编写的,这是一款面向对象的、现代的编程...
【火车订票系统(MFC+SQL)】是一种基于Microsoft Foundation Classes (MFC)库和SQL数据库技术构建的软件应用,旨在实现用户在线预订火车票的功能。MFC是微软提供的C++类库,用于简化Windows应用程序开发,而SQL则是...
行动记录(python Turtle库,多多指教).py3
现在正在学习java ,希望各位前辈能多多指教,在下不胜感激!!