马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 零度非安全 于 2017-2-8 16:49 编辑
点击图片穿越到 索引帖,听说有惊喜!
☟
上一讲我们讲的是
对象的创建和对象的内存模型
这一次我们来谈谈如何使用对象
☠
对象操作自己的变量(对象的属性)
对象在创建之后,就有了自己的变量,即对象的实体。通过使用运算符“ . ”,对象可以实现对自己的变量访问,访问格式
如下:☠
对象调用类中的方法(对象的功能)
对象在创建之后,可以使用运算符“ . ”调用创建它的类中的方法,从而产生一定的行为功能,调用格式如下:☠
体现封装
当对象调用方法时,方法中出现的成员变量就是指分配给该对象的变量。在讲类时讲过:类中的方法可以操作成员变量。当
对象调用方法时,方法中出现的成员变量就是分配给该对象的变量。
当对象调用方法时,方法中出现的局部变量被分配内存空间。方法执行完毕,局部变量即刻释放内存。需要注意的
是,局部变量在声明时如果没有初始化,就没有默认值,因此在使用局部变量之前,要事先为其赋值。
|
|
----------- 华丽的
分割线 ----------
在下面这个例子当中,一共有 3 个 Java 源文件,即 PersonName.java、FishcPeople.java 和 MainRun.java。其中,
PersonName.java 负责定义枚举类型(枚举在前面已经见过哦 ^_^),所定义的枚举类型 PersonName 负责给出人物名
字;FishcPeople.java 中 的 FishcPeople 类负责创建对象;MainRun.java 是含有主类的应用程序。
对于初学的鱼油,首先需要掌握在主类的 main 方法中使用类来创建对象,并让创建的对象产生行为。在下面这个例子中,
在主类的 main 方法中使用 FishcPeople 类创建了两个对象 xiaoJiaYu 和 nianHuaXiaoXian,并各自产生了行为。
PersonName.java/*
*枚举类型
*/
public enum PersonName{
非安全,不二如是,小甲鱼,拈花小仙
}
FishcPeople.java/*
* 负责创建对象的类
*/
public class FishcPeople{
PersonName name;
float height,weight;
String head;
void speak(String s){
if(name == PersonName.小甲鱼){
head = "美男头";
}
else if(name == PersonName.拈花小仙){
head = "美女头";
}
System.out.println(s);
}
}
MainRun.java/*
* 应用程序的主类
*/
public class MainRun{
public static void main(String[] args){
FishcPeople xiaoJiaYu,nianHuaXiaoXian; //声明对象
xiaoJiaYu = new FishcPeople(); //为对象分配内存,使用默认的构造方法
nianHuaXiaoXian = new FishcPeople();
xiaoJiaYu.name = PersonName.小甲鱼; //对象xiaoJiaYu给自己的变量赋值
xiaoJiaYu.height = 1.75f;
xiaoJiaYu.weight = 70f;
xiaoJiaYu.head = "大头";
nianHuaXiaoXian.name = PersonName.拈花小仙; //对象nianHuaXiaoXian给自己的变量赋值
nianHuaXiaoXian.height = 1.66f;
nianHuaXiaoXian.weight = 55f;
nianHuaXiaoXian.head = "小头";
System.out.println(xiaoJiaYu.name + "的身高:" + xiaoJiaYu.height);
System.out.println(xiaoJiaYu.name + "的体重:" + xiaoJiaYu.weight);
System.out.println(xiaoJiaYu.name + "的 头:" + xiaoJiaYu.head);
System.out.println(nianHuaXiaoXian.name + "的身高:" + nianHuaXiaoXian.height);
System.out.println(nianHuaXiaoXian.name + "的体重:" + nianHuaXiaoXian.weight);
System.out.println(nianHuaXiaoXian.name + "的 头:" + nianHuaXiaoXian.head);
xiaoJiaYu.speak(xiaoJiaYu.name + ":小仙吃冰淇淋"); //对象调用方法
System.out.println(xiaoJiaYu.name + "现在的头:" + xiaoJiaYu.head);
nianHuaXiaoXian.speak(nianHuaXiaoXian.name + ":我重" +
nianHuaXiaoXian.weight +
"公斤,伦家用小拳拳打你"); //对象调用方法
System.out.println(nianHuaXiaoXian.name + "现在的头:" + nianHuaXiaoXian.head);
}
}
运行效果如下:
当对象调用该方法时,方法中出现的成员变量就是该对象的成员变量。在上例中,当对象 xiaoJiaYu 调用方法
speak 之后,就将自己的 head 修改成“美男头”;同样,当对象 nianHuaXiaoXian 调用方法 speak 之后,
也就将自己的 head 修改成“美女头”。
|
|
【特别注意】贴子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。
❁
❁ |