面向对象与面向过程的理解
面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。
面向对象:强调具备了功能的对象,以类或对象为最小单位,考虑谁来做
面向对象中两个重要的概念
类:对一类事务的描述,是抽象的、概念上的定义
对象:是实际存在的该类事务的每个个体,因而也成为实例(instance)
类和对象的关系:对象是由类new出来的,派生出来的
对象的创建与对象的内存解析
典型代码:Person p1 = new Person
说明:如果创建了一个类的对个对象,则每个对象都独立的拥有一套类的属性(非static的属性)
内存解析:
匿名对象的使用
概念:我们创建的对象,没有显示的赋给一个变量名,即为匿名对象
特征:匿名对象只能调用一次
new Phone().serndEmail();
new Phone().playGame();
jvm内存结构
编译完源程序以后,生成一个或多个字节码文件
我们使用 JVM 中的类的加载器和解释器对生成的字节码文件进行解释运行。意味着,需要将字节码文件对应的类加载到内存中,涉及到内存解析
虚拟机栈:我们将局部变量存储在栈结构中
堆:我们将 new 出来的结构加载在堆空间中。对象的属性(非static的)加载在堆空间中
方法区:类的加载信息、常量池、静态域