java面试基础(三)

it2023-07-08  75

String s1 = “xiaoming”   这个string会存在常量池中,

String s2 = “xiaoming”   此时s1= =s2 

sring   s3 = new String ("xiaoming")   此时s3和s2的地址不一样,

 

log4j是一个打印日志的组件,他支持按分钟和年为间隔生成新的日志文件,日志打印级别不可以在运行期间重新设置

 

如果try 和finally 都有return ,忽略try中的return 使用finally中的return 语句

finally块会被执行,不论是否抛出异常,并且finally代码块在try或者catch的return 语句之前执行

 

JDK8中,接口中的方法可以被default和static修饰,但是!!!被修饰的方法必须有方法体。

 

静态变量

  在本类中直接用静态变量名,

其他类中使用可以用类名来调用,也可以实例化对象调用

 

 

jdk和jre的区别

jre(java runtime environment)是java的运行环境,面向java程序的使用者,它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。

jdk (java  development kit)是java的开发工具包,面向开发者,同时也包含了jre

 

==和equals的区别是什么

当==用来比较

基本数据类型:比较的是值是否相等

引用数据类型:比较引用的值是否相等 

 

equal用来比较

equal的本质其实就是==但是,有些类里面重写了变成了值比较,

也就是说默认情况下是引用比较,,但是由于很多类重新定义了,所以一般都是值比较

 

final 在java中有什么用

特征:凡是使用final修饰的均不可修改

修饰类:表示类不能被继承

修饰方法:表示该方法不能被重写

修饰变量:表示不可被修改

 

String str=“i”和String str=new String(“i”);一样吗

不一样,内存的分配方式不一样

String str=“i”java虚拟机会将它分配在虚拟机中,另一种会分在堆内存中

 

普通类和抽象类有什么区别

普通类不能包含抽象方法,抽象类可以,抽象类可以不包含抽象方法

抽象类不能被实例化,抽象方法没有方法体

 

什么是接口

 一个抽象类中的方法都是抽象方法,就是接口,接口中定义的方法默认都是抽象的

 

什么是多态

允许使用一个父类类型的变量来引用一个子类类型的对象,根据被引用的对象的类型的不同,得到不同的运行效果 同一个操作对不同的对象,产生不同的效果,提高代码的可重复性和可维护性

 

继承中的,构造方法问题

在子类的构造方法中一定会调用父类的构造方法,如果没有指定,会默认调用父类无参的构造方法

 

多维数组获取行数和长度。

在二位数组中,如果直接调用b.length方法,返回的则是b数组的行数,

                          如果是b[0].length方法则返回的是0行所代表的长度。

 

最新回复(0)