本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 1426|回复: 0
打印 上一主题 下一主题

第Ⅱ期Android菜鸟饭团#Java学习#第七课 活动笔记

[复制链接]
跳转到指定楼层
1#
发表于 2015-10-28 15:17:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xiao_ming 于 2015-10-29 11:25 编辑

第Ⅱ期Android菜鸟饭团#Java学习#第七课 活动笔记


对象的创建和使用:
必须使用new关键字创建对象
使用对象(引用).成员变量或来引用对象的成员变量。
使用对象(引用).方法(参数列表)来调用对象的方法。


class dog{
int age;
String name;
dog(){
    System.out.println("感谢主人领养了我。");
}
void setAge(int _age){
    age=_age;
}
void setAge(String _name){
    name=_name;
}
void getAge(){
    System.out.println("我今年"+age+"。");
}
void getAge(){
    System.out.println("我叫"+name+"。");
}
}
class Person{
public static void main(String [] args){
    dog huahua=new dog();//创建 dog 类型的变量huahua 并指向新建的一个dog对象。这会运行构造函数
    huahua.setAge(4);//也可以写huahua.age=4;
    huahua.setName("花花");//也可以写huahua.name="花花";
    huahua.getName();
    huahua.getAge();//以上四句都是在调用huahua对象的方法,进行了赋值并调用了输出类型的方法。
}
}


这样程序运行的结果是:
    感谢主人领养了我
    我叫花花。
    我今年4岁了。
在运行 dog huahua=new dog();的时候,在堆内存中开辟了一个空间,用于实例化dog类,这个区域存储了这个对象的所有成员变量并将起初始化(大部分都为0)。
如果new了对象却不让变量指向它,他就会变成垃圾,很难被使用到。好在java会自动清理这些垃圾。
如果在这个程序的huahua.getAge();下面写一些话。

dog xixi=huahua;//定义xixi变量,并让huahua和xixi都指向huahua指向的对象
    xixi.serAge=5;
    huahua.getAge();



结果是:
我今年5岁了。
因为xixi和huahua指向的是同一个对象,所以调用的也是同一个成员变量。
同一类的每一个对象有不同的成员变量的存储空间。
同一类的每个对象共享该类的方法。

方法重载:
方法重载是指两个方法名称一样,参数列表不一样(包括参数个数和类型)。
如果将上述的dog类的两个set*方法均改成set方法,在调用的时候就会很方便,这就要用到重载。        

void set(int _age){
        age=_age;
    }
    void set(String _name){
        name=_name;
    }



上面的就是两个重载的方法,简单来说,只要在调用过程中,不可能被编译器误解,便可以成为重载。
在调用的时候,无论要修改哪个数据都只用set(value);就行了。
问题
Q:new了对象没有变量指向会发生什么?
A:这样的对象是垃圾对象,会被垃圾处理系统在某个时期处理掉。
Q:set,get的意义是什么?为什么要这么写?
A:这只是两个方法名字而已,目的是进行赋值和输出值。这样写比较直观(容易被人理解)
Q:new了一个对象,让p指向它,又new了一个对象,让p指向它。会发生什么。
A:p指向了最后创建的对象,如果第一个对象没有变量指向它,它也会变成垃圾。
Q:两个变量可以指向一个对象吗?
A:可以。




每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。
Android菜鸟饭团南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
把你的个人信息和申请理由快快发送到android@chuang1.net,前来加入我们吧

ChinaGDG.com
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表