Java基础知识总结

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基础预备:低级基础

1.1 java基本类型

byte(字节)

short(短整型)

int(整型)

long(长整型)

float(浮点型)

double(双精度)

char(字符型)

boolean(布尔型)

1.2值传递和引用传递的区别

值传递:实参初始化形参,两个存储单元不同,不影响实参的值

引用传递:实际参数与形式参数指向同一个地址,形式参数的改变将会影响实际参数1.3当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。方法调用该对象引用的参数,参数被改变,但是引用不会改变

1.4 &和&&的区别。

&和&&都是逻辑「与」,&&只要第一个表达式是false就不会计算第二个表达式

&也可以作为运算符

2.1使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

引用变量不能变,引用变量所指向的对象中的内容可以改变

2.2final类型可不可以不初始化,如果没有初始化的final类型应该在哪里初始化?

final一定有初始值,没有初始化叫空白final

如果没有需要声明之后在其构造器中赋值

2.3 "=="和equals方法究竟有什么区别?

「==」是看两个对象引用是否指向同一个对象

「 equals() 」是比较两个对象的内容是否相等

3.1静态变量和实例变量的区别

静态变量的变量前加了static 的修饰,其中一个对象将它值改变,其他对象得到的就是改变后的结果;

实例变量的变量前没加static 的修饰,某一个对象将其值改变,不影响其他对象

3.2是否可以从一个static方法内部发出对非static方法的调用?为什么?

不可以。使用非static方法需要先创建对象,而使用static方法则不用

4.1 java中什么是自动装箱与拆箱呢?

自动装箱是某地方需要Integer类型,你传int类型会自动生成Integer,

反之Integer变int,就是自动拆箱

4.2 int 和 Integer 有什么区别

Int是基本数据类型,Integer是int的封装类。

原始类型封装类

Boolean Boolean

Char Character

Byte Byte

Short Short

Int Integer

Long Long

Float Float

Double Double

5.1请说出作用域public, protected,以及不写时的区别

不写是表示friendly。

作用域当前类同一package 子孙类其他package

public √√√√

protected √√√×

friendly √√××

private √×××

6.1能不能自己写个类,也叫ng.String?

可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个ng.String。

7.1 排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

冒泡,选择,插入,快速

冒泡排序:

冒泡排序:先比较第一位和第二位,把小数放前面大数放后面,接着比较第二位和第三位,直到最后一位,通过两个for循环再重复总位数次

8.1什么是堆什么是栈。

Java 把内存划分成两种:一种是栈内存,另一种是堆内存。

栈:一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间

堆:用于存放由new创建的对象和数组,数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉

8.2 heap和stack有什么区别。

heap是堆

stack是栈

栈:一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间

堆:用于存放由new创建的对象和数组,数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉

8.2 Static Nested Class 和 Inner Class的不同。

Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

9. 1 数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有有length()这个方法。

10.1描述一下JVM加载class文件的原理机制?

装载:查找和导入类或接口的二进制数据;

链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;

校验:检查导入类或接口的二进制数据的正确性;

准备:给类的静态变量分配并初始化存储空间;

解析:将符号引用转成直接引用;

初始化:激活类的静态变量,初始化Java代码和静态Java代码块

10.2、char型变量中能不能存贮一个中文汉字?为什么?

一个char占1个字节,所不能存放

第一章:万事万事皆对象

1.1 面向对象的概念

如果假设一部手机是一个对象的话,那么手机的高度,宽度等可以看做这个手机对象的属性,打电话发短信可以看做这个手机对象的方法,而生产这种手机的模板就是类。

相关文档
最新文档