java--内存与数据结构

JVM 内存划分

 

 

 

 

一种数据结构
特点:先进后出(FILO)
入栈:把元素放到栈里
栈顶:栈中的第一个元素
栈底:栈中的最后一个元素
出栈:把元素从栈里移除

 

 

 

基本数据类型–值传递

 

 

 


引用类型–地址传递

 

 

 


数组在堆中存储

 

 

 

若堆中的内存空间没有被引用的时候,就会变成垃圾,等着垃圾回收器回收

垃圾回收机制

 


对象在堆中存储

 

 

 


基本数据类型在堆中的初始值

整数

 

byte 

 

0

short 

 

0

int 

 

0

 

long

 

0L

小数  
float  0.0f
double  0.0d






 字符  
 char  '/u0000'




 布尔  
 boolean false 

对象


包含特性行为的一个实体,也称实例(instance)
成员变量 对象的一些状态特征
方法 对象的行为

把具有相同"特性"和"行为"的多个对象的抽象就是类

类的实例化


把类具体到某一对象上面,该对象有具体什么的状态特征和什么行为

1 Dog td = new Dog();
2 td.name = "泰迪";

 


匿名对象
匿名对象:创建一个对象,没有把它赋值给任何一个变量
匿名对象只能使用一次

new Dog().name = "zz";

 

对象的创建

创建对象

类 对象名 = new 类名();

Person zly = new Person();

 

赋值

定义类时时什么数据类型,赋值时就是什么数据类型

对象名.变量名 = 值;

zly.name = "zhaoliying";

 


对象调用方法


对象名.方法名([实参])

zly.sing("流行音乐");

 

方法有返回值,构造器没有返回值

构造器

 

字节码 存在位置 bin 文件夹下

 

 

 

 

 


方法重载:方法名相同,参数不一样

 static 修饰符

状态和行为有:对象和类之分

有的状态和行为属于对象(年龄和姓名属于人这个对象),
有的状态和行为属于类(e.g. 人口状态和毁灭属于人类这个类)
如果在字段和方法前添加static,那么这个字段或方法属于类,不属于对象

 

类中一些叫法的区分

 

 

 


深入理解变量

 

 

 

 

 

 

面向对象三大特性

封装
封装是指将对象的实现细节隐藏起来,然后通过公共的方法来向外暴露该对象的功能

继承
当子类继承父类后,子类是一种特殊的父类,能直接或间接获得父类里的成员

多态
多态是可以直接把子类对象赋给父类变量,但是运行时依然表现出子类的行为特征,这意味着同一类型的对象在运行时可能表现出不同的行为特征

posted @ 2023-09-21 22:13  szmtjs10  阅读(12)  评论(0编辑  收藏  举报