面向对象内容的三条主线:
1.Java类及类的成员
2.面向对象的三大特征
3.其它关键字
人把大象装冰箱
1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
1.把冰箱门打开
2.抬起大象,塞进冰箱
3.把冰箱门关闭
2.面向对象
人{
打开(冰箱){
冰箱.开开();
}
抬起(大象){
大象.进入(冰箱);
}
关闭(冰箱){
冰箱.关闭();
}
}
冰箱{
开开(){
}
关闭(){
}
}
大象{
进入(冰箱){
}
}
Person p1 = new Person();
p1.name = "Tom";
p1.isMale = true;
//将p1变量保存的对象地址值赋给p3,导致p1和p3指向了队空间中的同一个对象实体
Person p3 = p1;
System.out.println(p3.name);//Tom
p3.age = 10;
System.out.println(p1.age);
class Person{
//属性
String name;
int age = 1;
boolean isMale;
}
Java的内存解析:
堆(Heap):此内存区域的唯一目的就是存放对象的实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中的描述是:所有对象实例以及数组都要在堆上分配。
栈(Stack):虚拟机栈。虚拟机栈用来存放局部变量等。
方法区(Method Area):用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。