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

​​​​​​​

相关推荐
Clank的游戏栈几秒前
Unity3D Compute Shader同步详解
java·开发语言·算法
聂 可 以15 分钟前
ArrayList和LinkedList的区别(底层的数据结构、随机访问元素的性能、插入元素和删除元素的性能、内存占用、使用场景)
java·数据结构·面试
十七次方19 分钟前
迪杰斯特拉算法 Dijkstra‘s Algorithm 详解
java·算法
The best are water33 分钟前
easyExcel使用模版填充excel,合并单元格
java·excel
VaporGas35 分钟前
DBCP数据库连接池以及在Tomcat中配置JNDI数据源
java·数据库·tomcat
BUG弄潮儿43 分钟前
jdk & tomcat 镜像制作
java·开发语言·tomcat
angushine1 小时前
无源码实现免登录功能
java
吃海鲜的骆驼1 小时前
六、设计模式-6.3、责任链模式
java·设计模式·面试·责任链模式
lamb张1 小时前
CountDownlatch、CyclicBarrier、Semaphore使用介绍
java·开发语言
xmh-sxh-13141 小时前
Neo4J介绍
java