有一定基础的JAVA学习笔记_02(面向对象)
2022/2/7 20:12:28
本文主要是介绍有一定基础的JAVA学习笔记_02(面向对象),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
1、面向过程和面向对象
2、对象和类的概念
3、面向过程的内存分析
4、构造方法
5、垃圾回收机制
1、面向过程和面向对象
- 面向过程:按步骤解决问题(开车)
- 面向对象:根据组成部分设计事物(造车)
- 面向对象具有三大特征:封装性、继承性和多态性
- 面向过程和面向对象都是解决问题的思维方式,都是代码组织的方式
- 解决简单问题一般使用面向过程的方式
- 解决复杂问题时宏观上需要使用面向对象的方式,但微观处理上仍然是面向过程
2、对象和类的概念
- 类:class
- 对象:Object,instance(实例)
- 类是模版,可以根据类的定义来造出对象,一般称对象是类的实例
- 类有三种常见成员:属性field、方法method、构造器constructor,都可以定义零个或多个
3、面向过程的内存分析
栈
- 栈的存储特性是“先进后出,后进先出”
- 栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧
- 栈是由系统自动分配栈的一个连续的内存空间
- JVM为每个线程创建一个私有栈,用于存放该线程执行方法的信息,线程间不能共享
堆
- 堆本质是一个二叉树,是不连续的内存空间,分配灵活但速度慢
- 堆用于存储创建好的对象和数组(数组也是对象)
- JVM只有一个堆,被所有线程共享
方法区(静态区)
- 方法区实际也是堆(但和上文不是一个东西),JVM只有一个方法区,被所有线程共享
- 方法去用来存放程序中永远不变或唯一的内容,如类信息、静态变量、字符串常量等
4、构造方法
- 构造方法也叫构造器,是一个创建对象时会自动调用的特殊方法,目的是对象的初始化
- 构造器的名称应与类的名称一致
- Java通过new关键字来调用构造器,从而返回该类的实例
- 构造器虽然有返回值,但是不能定义返回值类型,也不能使用return
- 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数
- 构造方法也可以重载,用于创建参数不同的对象
class Point { double x, y; //构造器 public Point(double _x, double _y) { x = _x; y = _y; } //定义的方法 public double getDistance(Point p) { return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)); } } public class TestConstructor { public static void main(String[] args) { Point p = new Point(3.0, 4.0); Point origin = new Point(0.0, 0.0);//生成对象 System.out.println(p.getDistance(origin)); } }
5、垃圾回收机制
这篇关于有一定基础的JAVA学习笔记_02(面向对象)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南