在Java世界中一切都被视为对象。尽管一切都看做对象,但操作的标识符实际上就是一个对象的引用,也就是说你拥有一个引用,并不一定需要一个对象与它关联。因此在操作一个对象之前,则可以先创建一个引用,例如:
String s; // 这是一个String类对象的引用
这里创建的只是引用,并不是对象,这是调用s返回消息那么就会显示错误。 所以必须创建对象。
一旦创建了 一个引用,就希望它与一个对象关联,通常用new操作符来实现这一个目的。 例如:
s = new String();
一个对象是如何 存储在内存中的呢?
- 寄存器:这是最快的存储区,但是 数量极其有限,所以我们不能直接控制寄存器,在程序中也感觉不到寄存器的存在。
- 堆栈:位于通用RAM(随机访问存储器中)这是一个快速有效的储存方法。创建程序是Java系统必须知道所有存储在堆栈中的所有项的生命周期,这点约束了程序的灵活性,所以堆栈中-存储引用,但是java对象并不在其中
- 堆:内存池中没有生命周期的限定,所以在这个区域内存储java对象。
?
?
?
?
?
9.1 类
类是决定对象外观和行为的类型。通过class关键字创建, 后面紧跟类名:例如:
class People{
????/* 这是一个类 */
}
那么现在我们就可以来创建一个类的对象:
People
people = new People(); // 创建People类型的对象
现在这个类没有定义方法和属性,它什么都不能做。
9.1.1 字段和方法
?
一旦定义了一个类那么就可以在类中定义两个元素:
- 字段: 是任何一种数据类型的引用,也可以是任何一种基本数据类型的一种
- 方法: 这个操作字段,或者是行为
?
?
例如:
人有姓名: 可以在People类中定义一个String类型的字段存储名字
人说出自己的名字,定义一个方法说出自己名字:
/**
* 定义一people类
* @ClassName: People
* @Description: TODO(这里用一句话描述这个类的作用)
* @author zjkorder
* @date 2015年12月11日
下午1:21:57
*
*/
class People{
????
????String name = "张三"; // 定义String类型的字段储存张三的名字
????
????/**
???? * 定义一个方法叫自我介绍
来说出自己的名字
???? * @Title: introduceMyself
???? * @Description: TODO(这里用一句话描述这个方法的作用)
???? * @param
设定文件
???? * @return void
???? * @throws
???? *
???? */
????public
void introduceMyself(){
????????System.out.println("我叫"+name);
????}
}
在类中的字段都有默认值,基本数据类型的默认值是:
Boolean |
False |
Char |
Null |
Byte |
0 |
Short |
0 |
Int |
0 |
Long |
0L |
Float |
0.0f |
Double |
o.0 |
?
9.1.2 方法
?
方法的基本组成部分包括:名称,参数,返回值和方法体
?
?