当说到对象,你的脑海里面浮现的可能是蔚蓝天空下,巍峨山峰上的一棵大树,可能是雾霭笼罩下的一个静谧小村庄。对象有大有小,具体的某一个物体或者某一个事物都是对象。
研究对象,不外乎是从两方面入手:特征和行为。就拿桌上的一盒相印牌抽纸而言,它的特征有:颜色,大小,价格,材质,重量,品牌等。行为有擦手,做艺术品,用来变魔术等。
生活中,我们一般是根据对象相似的特征和相似的行为进行分类的。而讲其应用于编程中,我们就可以
发现,程序中的类是根据对象特征和行为进行的一种抽象定义。某位哲人曾说:“艺术来源于生活,却高于生活。”程序中的类也当然如此啦!!
程序中的类由两个部分组成:属性和方法。属性对应的是对象的特征;方法对应的是对象的行为.类的基本格式为:
public
class 类名 {
//定义属性名
private 数据类型 属性名;
//定义构造方法的格式
public 类名(数据类型 参数名,...){
//代码
}
//定义普通方法
public 返回值数据类型 方法名(数据类型 参数名,...){
//代码
}
}
在实例化对象时,
关键字是new。格式为: 类名 对象名= new 类名(参数值,·····);调用方法: 对象名.方法名(实参,...);
我们都曾在C++接触过构造方法,举例如下:
public Student(){
this("happy,birthday!");
}
它有两种用途,一个是初始化属性值,另一个是实例化对象。它和普通方法的区别有以下四点:
1.普通方法有返回类型,方法名小写,不能和类名相同。构造方法没有返回类型,名字与类名相同。
2.构造方法是初始化对象的重要途径,而普通方法不行。
3.运行顺序不同。
4.普通方法仅仅是类成员,构造方法虽然也是类成员,但它有对类属性初始化的功能。
看到如此多文字,估计大家都有点累了,下面讲下有趣的
例子。国产动漫喜洋洋可谓家喻户晓,喜洋洋,灰太狼,这一对欢喜冤家估计都深入人心了吧!嘻嘻。
假如你是喜洋洋,你
打算是用火烧灰太狼的尾巴,用弓箭射它的屁股还是欺骗红太郎让她用锅铲扔灰太狼呢。赶走灰太狼,方法有很多种,结果只有一个,体现在编程上就是接下来要说的“方法
重载”。
方法重载的条件有两个:1.方法名相同。2.参数个数,类型,顺序必须有一个不同。至于怎么调用方法的呢?那就得根据你所传递的参数来决定调用不同的方法。
最后我们来聊下关键字吧。例子如下:
public Student(String name,int score){
this.name = name;
this.score = score;
}
this的用途有两个:一个是在参数名和属性名同名时,用来做区分的;另外一个则是调用构造方法。注意啦!this是表示当前调用方法的对象的。