上一页 1 2 3 4 5 6 7 8 9 ··· 25 下一页
摘要: 什么是向上转型? 通过在网上查了资料,和普遍的介绍,一句话总结就是“父类引用指向子类对象”,例: Human h=new Human(); h.eat();//人类 Animal a=new Animal(); a.eat();//动物 //父类-Human,子类-Animal,a-父类引用,new 阅读全文
posted @ 2023-10-15 21:53 szmtjs10 阅读(187) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-09-22 21:29 szmtjs10 阅读(29) 评论(0) 推荐(0)
摘要: 前言 为什么要对内存进行区域划分? 我们知道, 在厨房做菜的时候,厨师需要用到东西都是放在固定区域的 比如,厨具放在厨具区,调料放在调料区,菜料放在菜品区 这样在做菜的时候,厨师就能够很容易的找到要用到的厨具,从而将专注力都汇聚在炒菜本身,而不是找工具 JVM划分内存区域的道理也是相同 运行程序就好 阅读全文
posted @ 2023-09-22 21:17 szmtjs10 阅读(22) 评论(0) 推荐(0)
摘要: JAVA基础 —— 面向对象内存图 阅读全文
posted @ 2023-09-21 23:23 szmtjs10 阅读(25) 评论(0) 推荐(0)
摘要: 大家都知道,java程序是运行在jvm(java虚拟机)上的,因此Java的内存分配是在JVM中进行的。那么在程序内存分配上面,大致分为:本地方法栈、程序计数器、虚拟机栈、java堆、方法区。这五类,本次主要讲解的是虚拟机栈、java堆和方法区中的内容。 栈:存放基本数据类型的数据、引用数据类型的变 阅读全文
posted @ 2023-09-21 23:20 szmtjs10 阅读(1072) 评论(0) 推荐(0)
摘要: 在JVM内存里面主要分布有以下三个区域: 栈:存放基础数据和自定义对象的引用 堆:主要存储创建的对象,即new出来的对象。 方法区:加载存放class文件(字节码文件) 创建一个对象: 通过上图来看,程序是这样执行的: 将StudentTest01.class文件加载到方法区 将Student.cl 阅读全文
posted @ 2023-09-21 23:07 szmtjs10 阅读(56) 评论(0) 推荐(0)
摘要: JVM 内存划分 栈 一种数据结构特点:先进后出(FILO)入栈:把元素放到栈里栈顶:栈中的第一个元素栈底:栈中的最后一个元素出栈:把元素从栈里移除 基本数据类型–值传递 引用类型–地址传递 堆 数组在堆中存储 若堆中的内存空间没有被引用的时候,就会变成垃圾,等着垃圾回收器回收 垃圾回收机制 对象在 阅读全文
posted @ 2023-09-21 22:13 szmtjs10 阅读(33) 评论(0) 推荐(0)
摘要: this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个 阅读全文
posted @ 2023-09-21 21:28 szmtjs10 阅读(98) 评论(0) 推荐(0)
摘要: 声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型,其结构如图 1 所示。 图 1 方法组成元素 成员方法一旦被定义,便可以在程序中 阅读全文
posted @ 2023-09-21 21:23 szmtjs10 阅读(163) 评论(0) 推荐(0)
摘要: 创建一个表示学生的实体类 Student,其中有学生姓名、性别和年龄信息。要求使用属性来表示学生信息,最终编写测试代码。首先定义一个名为 Student 的类,代码如下: 1 public class Student { 2 // 学生类 3 } 在类中通过属性定义学生、性别和年龄,代码如下: 1 阅读全文
posted @ 2023-09-21 09:41 szmtjs10 阅读(1073) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 25 下一页