Java 基础-认识面向对象

一、面向对象和面向对象的区别

面向过程是一种以过程为中心的编程思想,简称OP,面向过程也可以称为面向记录的编程思想,就是分析出解决问题所需的步骤,然后用函数把这些步骤实现。

面向对象是一种以对象为编程中心的编程思想,简称OO。通过面向对象的方式,将现实世界的事物抽象成对象。

面向对象编程思想开发系统,现代开发中会将对象贯穿整个过程

OOA :面向对象分析( Object-Oriented Analysis
OOD :面向对象设计( Object-Oriented Design
OOP :面向对象编程( Object-Oriented Programming

二、面向对象三大特征

面向对象的三大特征

① 封装( Encapsulation
② 继承( Inheritance
③ 多态( Polymorphism

三、类

类是现实世界当中具有共同特征的事物进行抽象形成的模板和概念,而对象是实际存在的个体。

通过类可以创建对象,对象又被称为实例,这个过程也可以称为实例化。对象具有共同特征,进行抽象形成了类,所以从对象到类称为抽象。

类=属性+方法,属性描述的是状态,方法描述的是行为动作。对象的属性以变量形式存在。

类的定义

[ 修饰符 ] class 类名 {
类体 = 属性 + 方法
}

对象的创建和使用

一、对象的创建与使用

一个类可以创建多个对象,语法格式为:new 类名()

java 语言当中凡是使用 class 关键字定义的类都属于引用数据类型,类名本身就是这种引用数据类型的类型名。

二、对象的使用

   

三、对象创建和使用的深层次解密

1、Java虚拟机

Java虚拟机内存管理

程序计数器:
1) 概念:可以看做当前线程所执行的字节码的行号指示器。
2) 特点:线程私有的内存
java 虚拟机栈(重点):
1) 概念:描述的是 java 方法执行的内存模型。(每个方法在执行的时候会创建一个
栈帧 ,用于存储 局部变量 表,操作数栈,动态链接,方法出口等信息。每个方法
从调用直至完成的过程,就对应一个栈帧从入栈到出栈的过程。)
2) 特点:线程私有,生命周期和线程相同。
③ 本地方法栈:
1) 概念:它与虚拟机栈所发挥的作用是相似的,区别是 java 虚拟机栈为执行 java
法服务,而本地方法栈是为本地方法服务。
2) 特点:线程私有,也会抛出两类异常
java 堆(重点):
1) 概念:是被所有线程共享的一块区域,在虚拟机启动时创建。
2) 特点:线程共享,存放的是 对象实例 (所有的对象实例和数组), GC 管理的主要
区域。可以处于物理上不连续的内存空间
方法区(重点):
1) 概念:存储已被虚拟机加载的 类信息、常量、静态变量 ,即时编译器编译后的代
码等数据。
2) 特点:线程共享的区域,抛出异常 OutOfMemory 异常
Java虚拟机有三个主要的内存空间,分别是“虚拟机栈”、“方法区”、“堆区”,方法区存储类的信息,栈中存储方法执行时的栈帧以及局部变量,堆区中主要存储new出来的对象,以及对象内部的实例变量。
垃圾回收器主要针对的是堆内存,方法区最先有数据,因为程序在执行之前会先进行类加载

2、构造方法Constructor

构造方法是类中特殊的方法,通过调用构造方法来完成对象的创建,以及对象属性的初始化操作。
构造方法定义的语法格式:
[ 修饰符列表 ] 构造方法名 ( 形式参数列表 )
{
构造方法体 ;
}
① 构造方法名和类名一致。
② 构造方法用来创建对象,以及完成属性初始化操作。
③ 构造方法返回值类型不需要写,写上就报错,包括 void 也不能写。
④ 构造方法的返回值类型实际上是当前类的类型。
⑤ 一个类中可以定义多个构造方法,这些构造方法构成方法重载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值