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;
27、设计模式-----代理模式
解释:代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象
关键点:(1)、代理类和委托类必须实现统一接口
(2)、在委托类中实现功能,在代理类中引用委托类的同名方法,在方法中实例化委托类并实现委托类的方法
(3)、外部类调用委托类的方法时,直接以接口指向代理类的实例,这才是真正的代理,屏蔽(利用代理来屏蔽外部类与委托类之间的关系)