`
轻狂书生1
  • 浏览: 3385 次
  • 性别: Icon_minigender_1
  • 来自: 青州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

类和对象的总结(新手首发,写的不好,大家多多指教)

阅读更多
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;
}
}


}

}
0
5
分享到:
评论

相关推荐

    C#开发秒表计时器 ,该设计纯属自我编写 如果代码有什么不好的地方,请高手多多指教,谢谢。。。新手上路

    在本文中,我们将深入探讨如何使用C#语言...作为新手,不要害怕犯错误,勇于接受他人的指导和建议,这将有助于你在编程道路上不断进步。对于此代码示例,如果你有任何疑问或改进的想法,欢迎与社区中的专家交流讨论。

    自做的mfc小程序,检点绘图的

    描述中提到“不怎么好,我是菜鸟,mfc自己做的,初学者多多指教”,这表明作者可能是编程新手,正在学习和探索MFC,并尝试用它来实现绘图功能。初学者在编程过程中遇到问题是很常见的,这通常涉及到对MFC库的理解、...

    分享不太完善的多文档编辑器

    【描述】:“个人作品 很多功能或算法可能不成熟 初学者分享 希望高手多多指教” 描述中提到这是个人作品,意味着这是一个独立开发者或者爱好者的作品,可能存在各种未成熟的功能和算法。"初学者分享"表示作者可能...

    android简单计算器代码

    自己写的不好请多多指教!” 该描述透露出作者可能是一位初学者,正在寻求反馈和改进意见。这表明代码可能没有进行过多的优化或遵循最佳实践,但作为一个基础示例,它提供了实现计算器功能的基本框架。 ### 标签:...

    后端开发+java+Mybatis+知识点+架构图

    本资源是java后端开发持久层框架(Mybatis),里面包含了知识网络图和知识文本图,相对来讲是比较适合新手小白,本资源通俗易懂,下面给大家简单介绍一下...如果有哪里不足的还希望大家多多指教, 祝大家在技术道路上飞黄腾达,

    网吧管理系统带源代码

    【描述】:“新手项目实战,分享下源代码,程序可以直接运行,做得不好可以多多指教” 这个描述告诉我们,这个项目是针对初学者设计的实战练习。通过实际操作一个完整的项目,新手可以更好地理解和掌握编程概念。...

    日企自我介绍有绝招精选.doc

    销售方面我还是新手,可能会有很多不懂的地方,但我会努力,请多多指教。”在这里,要提到自己的姓名、调动的部门,并表达出对工作的热情和决心,这能提升他人对你的好感度。 而对于公司外部的自我介绍,如在业务...

Global site tag (gtag.js) - Google Analytics