面向对象编程

  • 万物皆对象

  • 面向对象指以属性和行为的观点去分析现实生活中的事物

  • 面向对象编程指先以面向对象的思想进行分析,然后使用面向对象的编程语言进行表达的过程

  • 面向对象编程是软件产业化发展的需求

  • 理解面向对象的思想精髓才行

面想对象的三大特性

  • 封装

  • 继承

  • 多态

类和对象

类是一个抽象的定义,简单来说就是分类的类

类是用于构建对象的模板

而对对象是类的实现形式,对象的实质就是内存中的一块区域

其数据结构由创建它的类来决定

类的结构

对象的创建

当一个类的定义存在后,可以使用new运算创建该类的对象

1
new 类名();
### 引用的定义
1
类名作为变量类型 变量名 = new 类名();

成员变量初始化

对象创建后,其成员变量可以按照默认的方式初始化;

就是说你不赋值,它也有个默认值,各种数据类型的默认值如下

成员方法的定义

1
2
3
4
5
6
方法名  
标识符命名规则
参数
参数类型,多个参数
返回值
返回值类型,多返回值

JVM内存结构-方法区

java的程序运行是需要在内存中开辟空间的,关于java中的内存更多内容,可以参考:Java中的内存浅析

方法区:该空间用于存放类的信息. java程序运行时,首先会通过类装载器载入类文件的字节码信息,经过解析后将其装入方法区.在方法区保存类的各种信息

1
Point p = new Point();

Point 类首先被转载到JVM的方法区,包括类的基本信息和方法定义等.

JVM内存结构-栈区

用于存放程序运行过程中当中所有的局部白能量.一个运行的java程序重开始到结束会有多次方法的调用.JVM会为每个方法的调用在栈中分配一个对应的空间,这个空间成为该方法的栈桢.一个栈桢对应一个正在调用中的方法,栈桢中存储了该方法的参数,局部变量等数据.当某一个方法调用完成后,其对应的栈桢将被清除.

JVM内存结构-堆区

JVM会在其内存空间中开辟一个成为”堆”的储存空间,这部分空间用于存储使用new关键字创建的对象