Java基础面试总结

1、面向对象的三大特征:封装,继承,多态

(1)、封装:就是隐藏一切可隐藏的东西,对外界只提供最简单的接口,,最常见的就是方法的封装,类的封装,包的封装

(2)、继承:就是子类继承父类之后可以直接调用父类的方法,在项目中继承一个ActionSupport类就可以引用它的静态变量

(3)、多态:不同类引用相同方法,得到不同结果的现象,方法的重写和重载就是多态的表现形式,重载是对参数的重载,当参数不同时返回值可以不同,参数相同时返回值不可以不同,一般发生在一个类内的重载,重写是对方法的重写,一般发生在父类于子类之间

2、四大访问修饰符:public,private,protected,default

Public就是公有的,都可以访问,private是私有的,只有自己可以访问,protected是受保护的,,当前类,同包和子类可以访问,default是默认的,是当前类,同包可以访问

3、String不是基本数据类型,基本数据类型只有四类八中byte,char,short,int,long,float,double,Boolean

4、float f =3.4是错误的,因为3.4是双精度,正确的是float = 3.4f

5、short s1 = 1;s1 =s1+1是错的,因为s1是short型的,当s1+1之后是int型,int型不能直接赋给short型数,而short s1=1;s1+=1;正确,因为s1+=1相当于s1=(short)(s1+1)有强制的类型转换

6、goto是java中的保留字,目前没有用到

7、int和integer的区别,int是基本数据类型,而integer是int的对象

8、&和&&的区别

&是位运算符,&&是逻辑运算符,&是按位相与,而&&是整体相比较

10、Math.round(11.5)=12,math.round(-11.5)=11,math.round()遵守四舍五入原则

11、Switch可以作用于byte上,不能作用在long上,可以作用在string上

12、最有效的计算2*8,是将2左移三位

13、数组中没有length()的方法,只有length的方法,string中有length()的方法

14、在java中用break可以跳出多重嵌套循环

15、构造器不能被重写,单可以被重载,因为子类在调用父类的方法时会自动调用父类的构造函数

16、equals和hash code区别:

 (1),如果两个对象相同(equals方法返回true)则hashcode值一定相同

 (2),如果两个对象的hashcode相同,但他们并不一定相同

17、不可以继承String类,因为string类是final类,是不可以被继承的

18、string和stringBuilder,stringBuffer的区别

String是常量,stringBuilder和stringBuffer都是变量,再就是stringBuilder是线程不安全,stringBuffer是线程安全的

19、GC是垃圾回收,Java中会自带垃圾回收,可以自动检测超过作用域的对象,自动进行管理,若想调用可以调用System.gc()或Runtime.getRuntime().gc()的方法

20、String s = newString(“xyz”),总共创建了两个对象,一个是静态区的“xyz”,一个是用new创建在堆上的对象

21、接口可以继承接口,抽象类可以实现接口,抽象类可继承具体类

22、collection是一个接口,是set和list的父接口,collections是一个工具类

23、list,set,map,,,list和set属于collection的子类,其中list是有序的,set是无序的,由于set是无序的,则set就没有脚标,

map是以键值对的方式来进行数据的存储,map又分为hashMap和hashtable,hashmap由于是键值对的形式,所以它的contains方法改为了containsKey()和containsValue(),再就是hashtable是线程安全的,而hashmap不是,在多线程并发时,若使用hashmap就应该给线程加上锁,防止数据丢失,hashmap的键和值都可以为空,hashtable都不可以

24、list和set区别

(1)、list是有序的,set是无序的,由于set是无序的,则set就没有脚标,

(2)、list分为array list和linkedlist,arraylist是数组排列,查起来方便,linkedlist是链式的添加时方便,array list是数组集合,linked list是链式集合,

(3)、Set又分为HashSet,LinkedHashSet,TreeSet,

A、HashSet中不能出现重复数据,set中可以出现空数据,set中数据时无序的

B、LinkedHashSet是不能出现重复数据,可以出现空数据,有序的,

C、TreeSet中不能出现重复数据,不能写入空数据,有序的

25、money金钱一般用BigDecimal存,数据库中一般使用decimal

26、数据库中的索引:普通索引,主键索引

数据库新建索引:create index index_name ontableName (column)

查询索引:show index from tableName;

删除索引:drop index index_name on tableName;


猜你喜欢

转载自blog.csdn.net/m_y_y/article/details/79667980