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

​​​​​​​

相关推荐
小张认为的测试8 分钟前
Liunx上Jenkins 持续集成 Java + Maven + TestNG + Allure + Rest-Assured 接口自动化项目
java·ci/cd·jenkins·maven·接口·testng
蘑菇丁38 分钟前
ansible批量生产kerberos票据,并批量分发到所有其他主机脚本
java·ide·eclipse
呼啦啦啦啦啦啦啦啦2 小时前
【Redis】持久化机制
java·redis·mybatis
我想学LINUX3 小时前
【2024年华为OD机试】 (A卷,100分)- 微服务的集成测试(JavaScript&Java & Python&C/C++)
java·c语言·javascript·python·华为od·微服务·集成测试
空の鱼7 小时前
java开发,IDEA转战VSCODE配置(mac)
java·vscode
P7进阶路8 小时前
Tomcat异常日志中文乱码怎么解决
java·tomcat·firefox
小丁爱养花9 小时前
Spring MVC:HTTP 请求的参数传递2.0
java·后端·spring
CodeClimb9 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
等一场春雨9 小时前
Java设计模式 九 桥接模式 (Bridge Pattern)
java·设计模式·桥接模式