主要内容:
1、创建类的方法
2、创建对象的方法
3、对象和对象的引用
一、定义类的方法
class 类名
{
属性;
方法;
}
.属性也叫成员变量,主要用于描述类地状态。
.方法也叫成员方法,主要用于描述类的行为。
二、类的表示方法
class Persion
{
int age;
void shout()
{
System.out.println("Oh,my god! I am" + age);
}
}
.age是类的属性,也叫类成员变量。
.shout是类的方法,也叫类地成员函数。
shout方法可以直接访问同一个类中的age变量,如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。
三、生成对象的方法
格式:类名 对项名 = new 类名();
例如:Dog dog = new Dog();
根据内存模型:
栈内存:存放对象名字(引用,一般存储对象实体的存储地址)。
堆内存:存放对象实体(对象中的内容)。
1、Dog d = new Dog(); 创建一个Dog的引用
2、Dog d = new Dog(); 创建一个Dog的对象
3、Dog d = new Dog(); 将创建的Dog对象赋给这个引用。
四、类和对象的关系
1、类是对众多同一类型对象共性的抽象。
2、对象是类地实例化。
五、总结:
1、对象的创建方法。
2、栈内存和堆内存的使用。
3、类和对象的关系。
六、内存内部的组织情况。
1、栈区:
由编译器自动分配释放,分配的内存是在一块连续的内存区域内。当声明变量时,编译器会自动接着当前栈区地结尾来分配内存。栈中的数据大小,声明周期是固定的。
2、堆区:
一般由程序员分配释放,若程序员不释放,操作系统可能会在程序结束后回收内存。类似于链表,在内存中分布不是连续的,堆可以动态分配内存大小,生命周期也不是固定的。
3、全局区:
存放全局变量和静态变量。
4、文字常量区:
常量字符串就放此处。程序结束后由操作系统释放。
5、程序代码区:
存放函数体的二进制代码。