java面试题《二、基础语法》
1.数据类型
基本数据类型:数值型(整数类型:byte,short,int,long;浮点类型:float,double)。字符型(char)和布尔型(boolean)
引用数据类型:类(class)、接口(interface)、数组([])
2.switch是否能作用在byte上,是否能作用在long上,是否能作用在String上。
byte一直可以,String在java7后可以,long一直不行。
3.final有什么用?
用于修饰类、属性和方法:
被final修饰的类不可以被继承;被final修饰的方法不可以被重写;被final修饰的变量不可以被改变;
4.final、finally、finalize区别
finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码放在finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。
finalize是一个方法,属于Object类的一个方法,该方法一般由垃圾回收器来调用,判断一个对象是否可以回收。
5.this关键字的用法
指向对象本身的一个指针。
普通的直接引用,this相当于是指向当前对象本身。
行参与成员名字重名,用this来区分。
引用本类的构造函数。
6.super关键字的用法。
super是指向离自己最近的父类对象的一个指针。
普通的直接引用,引用父类的成员。
子类中的成员变量或方法与父类中的成员变量或方法同名时,用super进行区分。
引用父类的构造函数。
7.this与super的区别
super在子类中调用父类的构造方法,this在本类调用本类的其他构造方法。this与super需放在构造方法内的第一行。this与super不能同时出现在一个构造函数里面。均不可以在static环境中使用。
8.static存在的主要意义
创建独立于具体对象的域变量或者方法。用来形成静态代码块以优化程序性能,只会在类加载的时候执行一次。
被static修饰的变量或者方法是独立于该类的任何对象,这些变量和方法不属于任何一个实例对象,而是被类的实例对象所共享。
9.break、continue、return的区别和作用
break结束当前的循环体;continue跳出本次循环,继续执行下次循环;return结束当前的方法,直接返回。
10.如何跳出当前的多重套嵌循环
在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break语句。
11.抽象类和接口
抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
相同点:接口和抽象类都不能实例化;用于被其他类实现或者继承;都包含抽象方法,其子类都必须重写这些抽象方法。
不同点:
(1)抽象类使用abstract关键字声明;接口使用interface关键字声明
(2)子类使用extends关键字来继承抽象类;接口子类使用implements关键字来实现接口。
(3)抽象类可以有构造器;接口不能有构造器
(4)抽象类中的方法可以是任意访问修饰符;接口方法默认修饰符是public,不允许被定义成private或者protected
(5)一个类最多只能继承一个抽象类;一个类可以实现多个接口
(6)抽象类的字段声明可以是任意的;接口的字段默认都是static和final的
12.重载和重写
重载:发生在同一个类中,方法名相同,参数列表不同,与方法返回值和访问修饰符无关
重写:发生在父子类中,方法名、参数列表必须相同
13.==和equals的区别是什么?
==:判断两个对象是不是同一个对象。基本数据类型 == 比较的是值;引用数据类型 == 比较的是内存地址。
equals:(1)类没有覆盖equals()方法,等价于“==”比较两个对象(2)覆盖了equals()方法,比较的是内容
14.hashCode()与equals()的相关规定。
如果两个对象相等,则hashCode一定也是相同的。但hashCode相等,两个对象不一定相等。
15.java中IO流分为几种?
按照流向分:输入流和输出流
按照操作单元分:字节流和字符流
16.BIO,NIO,AIO有什么区别?
BIO:同步阻塞式IO,模式简单使用方便,并发处理能力低。
NIO:同步非阻塞IO
AIO:异步非阻塞IO
17.什么是反射机制?
动态获取的信息以及动态调用对象的方法的功能成为java语言的反射机制。
18.java获取反射的三种方法
(1)通过new对象实现反射机制,Student stu = new Student(),stu.getClass()
(2)通过路径实现反射机制,Class.forName("")
(3)通过类名实现反射机制Class class = Student.class;
浙公网安备 33010602011771号