1.面向对象的特征有哪几方面?java
答:面向对象的特征有:spring
1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面sql
2)继承:继承是从已有类中继承信息建立新类的过程。父子类数据库
3)多态性:多态性指不一样的子类型对同一消息做出的不一样相应数组
4)封装:封装是将数据和操做数据的方法捆绑起来,操做数据只能调用已定义好的接口缓存
2.重载(overload)与重写(override)的区别安全
都是实现多态性的方式mybatis
重载:方法名相同,参数不一样,编译时多态性mvc
重写:方法名相同,参数相同,父子类中,覆盖父类方法,运行时多抬oracle
3.int和Integer的区别
int是基本数据类型,Integer是int的包装类型
4.&和&&的区别
&位运算符,逻辑与,&&是短路与,都要求两侧布尔类型为true才能运行,可是&&前面为false,再也不执行后面
数组有length属性没有length()方法,数组的长度,String有length()方法,表示字符串长度
不能,可是能够背重载
不能,String是final修饰类,值没法改变,不能背继承
Sting值不可变,StringBuffer和StringBuild能够改变
StringBuild非同步,效率快
StringBuffer同步,线程安全
能够,char能够存储16个字节,汉子占8个字节
都不能够被实例化,但能够定义引用,继承接口或抽象类须要实现所有方法,否则必须声明为抽象类,
接口成员必须是public声明,,抽象类能够是public、protect、private、默认的,
抽象类的成员能够定义成员变量,接口的成员定义的成员变量都是常量
Static Nested class 是被声明为静态的内部类,不须要外部实例化
内部类是须要在外部类实例化以后才能实例化
修饰类:不可被继承
修饰方法:不可被重写
修饰变量:变量为常量,不能够被修改
13.JDBC操做数据库
1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
建立链接
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
建立语句
PreparedStatement ps = con.prepareStatement("select * from emp where sal between ? and ?");
ps.setInt(1, 1000);
ps.setInt(2, 3000);
执行语句
ResultSet rs = ps.executeQuery();
处理结果
while(rs.next()) {
System.out.println(rs.getInt("empno") + " --- " + rs.getString("ename"));
}
关闭资源
finally {
if(con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
14.hibernate与mybatis的区别?
Hibernate与mybatis相比较,mybatis更为轻便、灵活,容易掌握。mybatis能够把sql语句从Java代码中分离了出来,放在了配置文件中书写,大大下降里java代码与SQL语句的耦合度,更容易对sql语句操做,重要的是mybatis还能够书写动态的sql语句,但mybatis也存在一些缺陷,好比mybatis自己的缓存机制没有hibernate那么完善,hibernate除了自己有良好的缓存机制,还可使用第三方缓存。Hibernate较完整的封装了JDBC,Hibernate的DAO层开发比MyBatis简单,对对象的维护和缓存要比MyBatis好。
15.springmvc与Struts的区别
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,参数的传递是直接注入到方法中的,是该方法独有的。
struts2是类级别的拦截, 一个类对应一个request上下文, struts是在接受参数的时候,能够用属性来接受参数, 这就说明参数是让多个方法共享的,这也就没法用注解或其余方式标识其所属方法了