java基础⾯试题
1.String是java基本类型吗?String是否可以被继承?
答:不是、String是引⽤类型
⼋⼤基本类型:int、char、long、Boolean、double、float、byte、short ;
不可以,因为String是⽤final修饰的
2.int和Integer有什么区别?
答:Int是基本类型
Integer是包装类
Int的包装类是Integer ;
3.String、StringBuffer和StringBuiler的特征及区别?
答:1.String是不可变的字符序列,⽽StringBuffer是可变的字符序列
2.StringBuffer线程是安全的,StringBuilde线程是不安全的
3.StringBuffer的效率要⽐StringBuilder的效率低
4.简述重写和重载的特征
答:重写:
1.⽅法名相同
2.⽅法的形参列表相同
3.⼦类的返回值要⽐⽗类的返回值要⼩或者相等
4.⼦类抛出的异常要⽐⽗类抛出的异常⼩或者相等
5.⼦类的访问权限要⽐⽗类的⼤
6.重写的⽅法要么是类⽅法、要么都是实例⽅法、不能⼀个是类⽅法、⼀个是实例⽅法重载:
在同⼀个类中⽅法名相同、形参列表不同(形参个数、类型、顺序);
5.抽象类与接⼝有什么区别
答:区别:
相同的是:
1.都不能使⽤new关键字创建对象
2.都包含有抽象⽅法(抽象⽅法只是⽤于声明);
不同的是:
1.接⼝只包含抽象⽅法、抽象类包含抽象⽅法和普通⽅法
2.接⼝只能包含常量,⽽抽象类不仅可以定义常量,还可以定义成员变量
3.接⼝不包含初始化块和构造器,⽽抽象类⾥可以;
4.定义接⼝只能使⽤interface关键字,抽象类是⽤abstract class定义的
5.抽象类⽤extends继承,接⼝⽤implements来实现
6.抽象类不仅可以继承抽象类,还可以实现接⼝;接⼝只能继承接⼝、不能继承任何类
7.抽象类只能继承⼀个,接⼝可以实现多个
6.Java创建对象有⼏种⽅式,它们有什么区别?
答:两种
1.是通过new关键字创建对象
2.是克隆(clone)
区别:
1.对于⼩的对象,⽤new关键字要⽐克隆(clone)快
2.对于⼤的对象,⽤克隆(clone)要⽐new关键字快
7.==与equals的区别
答:区别:
1.== 能⽐较基本类型,也能⽐较引⽤类型
2.equals只能⽐较引⽤类型
java重写和重载的区别3.== ⽐较两个基本类型且数值类型,⽐较的规则是看两个变量的数值是否相等
4.== ⽐较两个引⽤类型,⽐较的规则是看两个变量的地址是否⼀样
equals 默认的⽐较规则是⽐较两个引⽤变量的地址;
如果重写了⾃定义的规则,则按⾃定义的规则进⾏⽐较
8.jre、jdk、jvm分别是什么,它们之间有什么联系?
答:jre:java运⾏环境
Jdk:java应⽤程序开发包
Jvm:是java虚拟机,⽤来解释执⾏字节码⽂件的
Jre包含jvm
9.Java⾥什么是⾃动装箱和⾃动拆箱?
答:⾃动装箱:AutoBoxing
把⼀个基本类型变量直接赋给对应的包装类变量
⾃动拆箱:AutoUnBoxing
把⼀个包装类变量直接赋给对应的基本类型变量
⾃动装箱和⾃动拆箱简化了基本类型变量和包装类对象之间的转换过程。
10.Java的继承和实现有什么区别?
答: 区别:
1:继承是使⽤extends关键字实现则是使⽤implements关键字
2:继承只有⼀个直接⽗类接⼝可以实现多个
3:继承是⼦类与⽗类的继承,实现是接⼝的实现
特点:
实现主要是实现抽象类和接⼝,主要⽬的是多态和复⽤
Java中所有的类都是通过直接或间接地继承www.doczj/doc/99ff58a70b1c59eef9c7b492.html ng.Object类得到的
使⽤接⼝,只定义⽅法,没有具体的⽅法体实现该接⼝的类可以对接⼝中的⽅法11.Java继承有什么好处?答:实现软件复⽤的功能、可以获得⽗类的全部Field和⽅法
12.简述String类常⽤的5个⽅法,并详细解释
答:
1、toString:
2、equals:将此字符串和指定指定对象进⾏⽐较
3、toCharArray:将此字符串转换为⼀个新的字符数组。————————————————————————
charAt(int index) 返回索引处的char值
concat(String s) 连接两个字符串
getChars(int from,int end,char[]c,int begin)将字符串复制到指定数组
substring(int begin,int end)截取字符串
toLowerCase()转为⼩写字母
toUpperCase()转为⼤写字母
substring(int beginIndex , int endIndex) 截取⼀个区间
13.什么时候局部变量会覆盖成员变量,如何避免?
答:当成员变量和局部变量同名的时候,局部变量就会覆盖成员变量;
只要在⽅法⾥加上this关键字就可以了
14.Java⾥的类由那些成员组成,分别怎么定义?
答:属性:修饰符+类型+标识符
⽅法:修饰符+⽅法的返回值+⽅法名(形参列表){}
初始化块:修饰符{可执⾏的代码}
构造器:修饰符+类名(){}
内部类:修饰符+class+类名{class+类名{}}
枚举类:修饰符+enum+类名
15.列举java数组的声明⽅式?
答:第⼀种:
int[] monthDays;
monthDays = new int[10];
第⼆种:
int[] monthDays = new int[10];
第三种:
int[] monthDays = {1,2,3,4,5};
16.Java7的switch语句可以⽀持哪些数据类型?
答:可以是基本类型也可以是引⽤类型、还有枚举类型
Byte short int char,枚举类型和www.doczj/doc/99ff58a70b1c59eef9c7b492.html ng.String类型
17.如何将⼀个字符串转换成int?
答:String s = "123";
int i = Integer.parseInt( s );
System.out.println( i );
————————————————————
先通过Integer⾥⾯的valueOf()将字符串转为Integer 。
然后在利⽤intValue()⽅法将Integer转为int类型。
18.执⾏java程序包括哪些步骤?
答:先使⽤javac进⾏编译,再使⽤java解释执⾏
19.Java是如何实现跨平台的,详细说明
答:通过JVM的这个虚拟计算机进⾏转换器实现
在不同的跨平台会通过JVM实现平台相应的虚拟计算机进⾏编译
编译后的Java字节码就可以在相对应的平台上运⾏了
最主要的是通过JVM(虚拟计算机)进⾏转换编译
20.环境变量有什么作⽤,⽤户变量与系统变量有什么区别?
答:环境变量就是给Windows查命令指路的,让Windows能够到可执⾏的命令。
⽤户变量只对当前⽤户有效
系统变量对所有⽤户有效
21.⾯向对象的基本特征,⽤⾃⼰的话总结?
答:封装、继承、多态
封装:将对象的状态信息隐藏在对象内部不允许外部程序直接访问对象信息⽽是通过该类所提供的⽅法来对内部信息的操作和访问
继承:⼦类⼀旦继承⽗类就可以获得⽗类的⽅法和属性是实现软件复⽤的重要⼿段多态:相同类型的变量调⽤同⼀个⽅法是呈现出多种不同的⾏为特征
22.类和对象的特征,详细说明
答:类代表⼀类事物,从现实世界抽象⽽来
对象是类的⼀个个体,也可以说对象是类的实例
对象是类的具体,类是对象的抽象
23.说出java有哪些分隔符,分别有什么作⽤
答:分隔符:分号(;)、花括号({})、⽅括号([])、圆括号(())、空格、圆点(.) 作⽤:
1.分号:⽤作于结尾
2.花括号:⽤做定义⼀个代码块
3.⽅括号:⽤于访问数组元素
4.圆括号:⽤于定义⽅法是传⼊的形参声明,调⽤⽅法时传⼊实参
5.空格:⽤于分隔⼀条语句的不同部分,提供了更好的可读性
6.圆点:⽤做对象或者类和它的成员(Field、⽅法和内部类)24.定义java标识符有什么规则
答:1.是由字母、数字、下划线和美元符号组成、但不能以数字开头
2.不能使⽤java关键字和保留字、但可以包含关键字和保留字
3.标识符不能包含空格
4.标识符只能包含美元符、不能包含其它的特殊的字符
25.说出⽬前所学java关键字及他们的作⽤
答:abstract 是⽤来定义抽象类或者抽象⽅法的
enum 是⽤来定义枚举类的
this 是让类中的⼀个⽅法访问类中的另⼀个⽅法或者属性
break 的作⽤是⽤来终⽌循环的
continue 是⽤来终⽌某⼀次的循环
return ⽤作⽅法的返回值也可以终⽌循环
class 是⽤来定义类的
fefault 是⽤于switch中不满⾜所有条件是执⾏的语句
do 就是⽤于和do while 进⾏配合使⽤
else 就是当if 执⾏的条件判断不满⾜时就执⾏else
extends 是⽤于类继承的
final 是⽤来修饰某⼀固定的对象不可该变、也可以设置常量
for 是⽤来定义for循环的
if 是⽤来判断的
implements 是⽤来实现类或者接⼝的
import 是⽤来导包的导⼊某个包层次下⾯的所有类
interface 是⽤来定义接⼝的
instanceof 是⽤来判断前⼀个对象是否是后⼀个类或者其⼦类的实例new 是⽤来创建实例的
package 是将⼀系列功能相似的类打成⼀个放在⼀个包中
private 是权限控制符当前类访问权限
protected 也是权限控制符⼦类访问权限
public 是权限控制符公共访问权限
static 是⼀种修饰符被它修饰的属性或⽅法就叫做类属性或者类⽅法super 的作⽤主要是限定该对象调⽤它⽗类继承得到的属性或者⽅法switch 的作⽤是⽤来。。。。。。。。
void ⽤在⽅法中是⽤来表⽰⽆返回值
while 是个循环常和while(true)⼀起⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论