JAVA面试题(面试精必备)
1.java的跨平台性
java的跨平台性也别称为可移植性和平台无关性。也就是说,如果用java语言编写一个程序,就可以在不同平台上运行,而无需针对不同平台单独运行开发。这主要得益于java虚拟机,在运行java应用时JVM会根据当前平台进行解释,解释成符合当前平台运行规范的机器码。
2.java语言的特点
(1)跨平台性(2)面向对象(3)解释执行java应用时JVM的解释器将解释类文件,生成符合当前平台的字节码。(4)自动回收
3.java中主要包含哪些元素?并说明每种的作用
(1)属性:定义对象数据
(2)方法:定义对象行为
(3)构造方法:用来创建对象
(4)块:在类加载时执行操作或每次实例化前执行通用操作
(5)内部类:作为类的一个成员存在,能够访问外部类的属性和方法
4.构造方法的作用和特征?
作用:构造方法的作用是用来创建对象,通过new关键字来调用
特征:
(1)构造方法的名字必须与类名相同,并且大小写敏感
(2)构造方法不能声明返回值类型
(3)可以使用任意一种访问修饰符,但不能使用其他修饰符
5.方法的重载?
指在一个类中可以声明多个相同名字的方法,而方法的形式参数有区别。调用这些同名方法时,JVM会根据实际参数的不同来绑定到不同的方法。
6.java语言中的权限访问修饰符及每种含义?
(1)public:任何包中都可以访问
(2)protected:表示受保护权限,即同包中可以访问、同包中的子类可以访问
(3)同包:默认权限,在不指名权限修饰符时,就是同包权限,即在同一个包中可以访问
(4)private:是私有权限,只能在本类中访问
7.说明java中的八种基本数据类型及其含义、长度?
(1)byte 字节型 8位长度
(2)short 短整型 16位长度
(3)int 整形 32位长度
(4)long 长整形 64位长度
(5)float 单精度浮点型 32位长度
(6)double 双精度浮点型 64位长度
(7)char 字符型 16位长度
(8)boolean 表示逻辑值 只有true和false两个值
8.什么叫引用类型?与基本类型的区别?
引用类型:除了基本类型之外的都称为引用类型。引用类型就是类的类型,多有的对象都是引用类型 包括数组对象。
区别:引用类型必须使用new关键字调用构造方法进行赋值,引用类型的变量拥有自己的属性和方法,可以使用“.”来调用自己的属性和方法。基本类型直接用“=”进行赋值,并没有自己的属性和方# 8.法,往往都在声明属性或方法时使用。
9.String赋值可以用“=”也可以用new,两种方法有什么区别?
通过“=”进行赋值不一定每次都创建一个新的字符串,而是从字符串实例池中进行查找。使用new进行赋值每次都创建一个新的字符串。
10.String类是一个“不可变类”,解释“不可变类”的含义?
所谓不可变类,就是当字符串初始化后就不能被改变。
11.String类与StringBuffer类的区别?
String类是不可变类,即字符串一旦被初始化就不能被改变。
StringBuffer是可变字符串类,类似String的缓冲区,可以修改字符串的值。
12.StringBuffer类与StringBuilder类有什么区别?
StringBuffer是线程安全的字符串缓冲
StringBuilder不是线程安全的
13.包装类型有哪些?
Byte、Shout、Integer、Long、Float、Double、Character、Boolean
14.java语言中的值传递规则?
基本数据类型传递的是值
引用类型传递的是引用,即虚地址
15.使用static修饰属性或方法后,属性和方法有什么特征?
static修饰后,属性和方法不再属于某个特定的对象,而是所有共享,也可以说是static成员不依赖某个对象,在类加载时就被初始化。static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。
16.final修饰属性后,属性有什么特征?
final修饰属性后,属性会成为一个常量。常量只要被赋值就不能被改变。
17.说明操作符“==”的作用?
“==”可以用来比较基本类型和引用类型。比较基本类型时,比较的是二进制的值;比较引用类型时,比较的是对象的虚地址。
18.说明“&&”与“&”的区别联系?
“&&”会发生短路问题,当第一个表达式为false时,将直接返回结果为false,而不会判断第二个表达式的值。
“&”不会发生短路问题,即使第一个表达式的值为false还是会判断第二个表达式。
19.break语句能在什么场景中使用?
(1)在循环体中使用。
(2)可以再swith的case语句中使用。