首页 > 系统相关 >java--内存与数据结构

java--内存与数据结构

时间:2023-09-21 22:23:00浏览次数:39  
标签:父类 java -- 方法 数据类型 对象 new 数据结构 行为

JVM 内存划分

 



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

 

 

 

基本数据类型–值传递

 


引用类型–地址传递

 



数组在堆中存储

 

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

垃圾回收机制

 


对象在堆中存储

 


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

byte 0

 

short 0

 

int 0

 

long 0L

 
   


小数
float 0.0f
double 0.0d
字符

   
   


布尔
boolean false

   
   


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


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

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

Dog td = new Dog();
td.name = "泰迪";
1
2
匿名对象
匿名对象:创建一个对象,没有把它赋值给任何一个变量
匿名对象只能使用一次

new Dog().name = "zz";
1
对象的创建
创建对象
类 对象名 = new 类名();

Person zly = new Person();
1
赋值
定义类时时什么数据类型,赋值时就是什么数据类型
对象名.变量名 = 值;

zly.name = "zhaoliying";
1
对象调用方法
对象名.方法名([实参])

zly.sing("流行音乐");
1
方法有返回值,构造器没有返回值

构造器

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

 


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


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


类中一些叫法的区分


深入理解变量

 

 

面向对象三大特性

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

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

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

标签:父类,java,--,方法,数据类型,对象,new,数据结构,行为
From: https://www.cnblogs.com/szmtjs10/p/17721117.html

相关文章

  • 【小睿的ML之路】Seaborn-单变量分析绘制
    importseabornassnsimportnumpyasnpimportpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotasplt%matplotlibinlinex=np.random.normal(size=100)print(x)[0.22404072-1.9394295-0.32313598-0.25468579-0.719277940.66163234......
  • 开发环境配置
    下载JDK官网下载地址配置环境变量变量名:JAVA_HOME变量值:C:\ProgramFiles\Java\jdk-20变量名:Path变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;使用vscode写JAVA插件安装:LanguageSupportforJava(TM)byRedHat用于运行JavaDebuggerforJava调试JavaExten......
  • 高等数学 - 方向导数,梯度
    方向导数a) 方向导数是针对多元函数的导数。(下面都以二元函数来进行说明)b) 那不是已经有偏导函数了么?为啥还来了个方向导数?因为偏导数研究的是沿坐标轴正方向时函数的变化率,比如:沿x轴正方向,这时只有一个变量再变。然后数学家们觉得这还不够,要研究下沿着非坐标轴方向时函数的......
  • HNU个人互评项目:中小学数学卷子自动生成程序
    一、前言HNU个人项目互评:我与软1张益诚同学结对,均使用java语言来完成中小学数学卷子自动生成程序项目,现在我将对其完成的代码进行分析和功能测试,希望在互评中能够学习到新的编程思路,认识到自己的不足,以此来提升自己的思维。二、项目要求HNU个人项目:中小学数学卷子自动生成......
  • Java基础语法(1)
    Java基础语法JAVA--黑马程序员笔记一、Java入门1、JAVA是一种很火的计算机语言。2、JAVA代码编写分三步:编写程序源码,即编写一个java文件编译:翻译文件,javac是JDK提供的编译工具,对java文件编译后会产生一个class文件,class文件即交给计算机执行的文件。Eg:javachell......
  • ElPlus - color-picker 暴露的 show 函数调用时面板开启又关闭问题
    问题描述ElPlus2.3.3版本之后给我们提供了两个expose函数,show和hide,到目前版本2.3.14为止在调用show函数时会遇到一个问题:调用之后color-picker组件显示了但是很快又会被关闭掉。cover:(https://element-plus.org/images/element-plus-logo.svg)title:(ColorPicke......
  • 0-1 BFS
    前言:做这道题发现dij过不了,意识到自己不会0-1BFS,遂查,发现网上的解释很多都不清楚,oiwiki好像没讲,自己证明了一下。算法过程:用于求边权为\(0\)或\(1\)的图的最短路。方法就是把dij的单调队列换成一个deque,每次更新如果用边权为\(0\)的边,把新的点放到队首,反之放到队尾,......
  • 京剧罗成
    第一次看,除了回马枪罗成,里面的人物很多不知道,一开始以为元吉是诗人元结。查了原来是李元吉,李世民的兄弟。很小的时候看过隋唐演义,对写罗成的一段有些印象,但不多。元吉陷害、意图除去罗成,手段明显而凶狠,看得人气愤不已,没看完查结果是个悲剧,真被害死了,可惜,说是才20多岁。 有些游......
  • 马克思主义基本原理概论
    马克思主义基本原理概论题型与分值单选题:25*2=50简答题:5*6=30论述题:2/3*10=20绪论马克思主义是关于无产阶级和人类解放的科学第一节马克思主义的产生和发展第二节马克思主义科学性与革命性的统第三节学习、运用和发展马克思主义第一章物质世界及其发......
  • Buuctf——[RoarCTF 2019]Easy Calc
     有waf,不能出现非数字参数值。使用%20num可以绕过waf(AbusingPHPquerystringparsertobypassIDS,IPS,andWAF(secjuice.com))过滤了单双引号,可以用chr()函数构造字符串?%20num=var_dump(scandir(chr(46))) ?%20num=show_source(chr(47).chr(102).chr(49).chr(97).ch......