JAVASE总结一

1、

2、引用也可以是成员变量(实例变量),也可以是局部变量;引用数据类型,引用,

我们是通过引用去访问JVM堆内存当中的java对象,引用保存了java对象的内存地址,指向了JVM堆内存当中的java对象。

3、局部变量在栈内存中存储;

4、成员变量中的实例变量在jvm堆内存的java对象内部存储,实例变量是一个对象一份,一百个对象有一百份;

5、静态变量存储在方法区中

6、在类体当中,方法体之外定义的变量被称为"成员变量",成员变量若没有赋值,系统赋默认值:一切向0看齐:

7、访问堆内存只能通过引用去访问; 我们只能通过引用去访问jvm堆内存当中,java对象内部的 实例变量

8、java语言中所有的class都属于引用数据类型,类一定是标识符,类属于引用数据类型

9、类实例化形成对象,具有共同特征的对象抽象总结形成的模板叫类

10、new运算符在jvm堆内存中开辟的内存空间叫做对象;使用new运算符一定会在堆内存中开辟内存空间;new运算符创建的java对象存储在堆内存当中。

11、方法的代码片段以及整个类的代码片段都被存储到方法区内存当中,在类加载的时候,这些代码片段会被载入。

* 栈内存:方法代码片段在执行的时候,在栈内存中分配该方法运行时所需的内存空间,方法执行结束后,该方法所属的内存空间将会被释放

* 堆内存:new运算符创建的对象在堆内存中存储

* 方法区内存:主要是存储字节码代码片段。

12、三块内存当中变化最频繁的是栈内存,最先有数据的是方法区内存,垃圾回收器主要针对的是堆内存。

13、垃圾回收器【自动垃圾回收机制、GC机制】什么时候会考虑将某个java对象的内存回收呢?

*当堆内存当中的java对象成为垃圾数据的时候,会被垃圾回收器回收。

*什么时候堆内存中的java对象会变成垃圾呢?

没有更多的引用指向它的时候。

这个对象无法被访问,因为访问对象只能通过引用的方式访问。

14、封装的步骤:

1、所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中访问

2、对外提供简单入口:比如说被private修饰的成员变量,在其他类中只能通过getXxx/setXxx方法来访问,目的是提高程序的安全性

· 想修改实例变量,调用set方法

· 想读取实例变量,调用get方法

15、Private关键字:

private可以修饰一个类中的成员变量,也可以修饰成员方法。被private修饰的成员变量或者是成员方法只能在本类中访问,超出本类范围,只能间接访问,比如说被private修饰的成员变量,在其他类中只能通过getXxx/setXxx方法来访问,目的是提高程序的安全性。

16、关于构造方法:

**·**构造方法的语法结构:

修饰符列表\] 构造方法名(形式参数列表){ 构造方法体; } **·**普通方法的语法结构: \[修饰符列表\] 返回值类型 方法名(形式参数列表){ 方法体; } **·**对于构造方法来说,"返回值类型"不需要指定,并且也不能写void,只要写上void,那么这个方法就成为普通方法了。 **·**对于构造方法来说,构造方法的方法名必须和类名保持一致。

17、构造方法的作用?

构造方法存在的意义是,通过构造方法的调用,可以创建对象。

18、构造方法应该怎么调用?

·普通方法是这样调用的:方法修饰符中有static的时候:类名.方法名(实参列表)、方法名(实参列表);方法修饰符列表中没有static的时候:引用.方法名(实参列表)

·new构造方法名(实参列表)

19、构造方法调用执行之后,有返回值吗?

每一个构造方法实际上执行结束之后都有返回值,但是这个"return 值;"这样的语句不需要写。构造方法结束的时候java程序自动返回值。并且返回值类型是构造方法所在类的类型。由于构造方法的返回值类型就是类本身,所以返回值类型不需要编写。

20、**·**当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器。

**·**当一个类显示的将构造方法定义出来了,那么系统则不再默认为这个类提供缺省构造器。

开发中手动的为当前类提供无参数构造方法 ,因为无参数构造太常见:

21、****构造方法支持重载机制,在一个类当中编写多个构造方法,这多个构造方法显然已构成方法重载机制(方法名相同,参数列表不同),不关注修饰符列表和返回值类型:****​​​​​​​

​​​​​​​

相关推荐
立莹Sir26 分钟前
Spring Bean生命周期设计思想与源码深度剖析:从表象到本质的全面升级
java·spring·rpc
计算机毕业论文辅导31 分钟前
毕业设计避坑指南:工资信息管理系统的设计与实现(Java+SpringBoot实战)
java·spring boot·课程设计
你不是我我35 分钟前
【Java 开发日记】为什么要有 time _wait 状态,服务端这个状态过多是什么原因?
java·网络·php
User_芊芊君子35 分钟前
别再乱用 ArrayList 了!这 4 个隐藏坑,90% 的 Java 开发者都踩过
android·java·数据库
xcLeigh36 分钟前
JAVA项目实战:用飞算 JavaAI 高效开发电商系统核心功能模块
java·ai编程·电商系统·java开发·飞算javaai炫技赛
xcLeigh36 分钟前
IoTDB Java 原生 API 实战:SessionPool 从入门到精通
java·开发语言·数据库·api·iotdb·sessionpool
qq12_81151751537 分钟前
Java Web 影城会员管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
java·前端·mybatis
杜子不疼.37 分钟前
Java 智能体学习避坑指南:3 个常见误区,新手千万别踩,高效少走弯路
java·开发语言·人工智能·学习
冬天vs不冷38 分钟前
为什么 Java 不让 Lambda 和匿名内部类修改外部变量?final 与等效 final 的真正意义
android·java·开发语言
星河耀银海38 分钟前
JAVA 多线程编程:从基础原理到实战应用
java·开发语言·php