java程序员面试宝典题目

时间:2022-01-06 15:04:15

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

答:"=="是比较两个变量的值是否相等,也就是说,当比较两个基本数据类型的数据或者引用对象是否相等时,都用的''=="
equals常用来比较两个字符串的内容是否相同,

12、静态变量和实例变量的区别? 

答:语法上:静态变量之前要加上static,实例变量前没有static
执行时:

实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用

14Integerint的区别

答:int是Java提供的8种基本原始数据类型,java为每种基本数据类型提供了封装类,Integer就是java为int提供的封装类,并且integer的默认值时null,但是int默认值是0;

16、下面的代码有什么不妥之处?

1. if(username.equals(zxx){}

,这个if少了一个右括号

2.int  x = 1;

 return x==1?true:false;

这里return的可以直接return x==1,不用再写true:false,这里的true:false是多余的,

17、请说出作用域publicprivateprotected,以及不写时的区别

答:

这四个作用域的可见范围如下表所示。

说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。

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

public     √      √               √        √

protected      √        √           √             ×

friendly    √       √          ×   ×

private   √      ×       ×   × 


18OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型? 

答:Overload重载的是多个方法名相同,但是方法里面的参数数量和类型不一致,

Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,

如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload。这是不行的

19、构造器Constructor是否可被override? 

答:构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。 

20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

答:接口可以继承接口。抽象类可以实现(implements)接口,抽象可继承具体类。抽象类中可以有静态的main方法。