面试题总结

1.抽象类为什么不能创建对象?

因为抽象类描述的东西是抽象的,不是具体的,如果创建对象没有意义,所以只能继承它,并且重写方法

2.mysql关键字的执行顺序

语法顺序:select[distinct]>from>left join>on>where>group by>having>union>order by>limit

执行顺序:from>on>left join>where>group by>having>select>distinct>union>orderby

3.Statement与PreparedStatement的区别

PreparedStatement预编译SQL语句性能好

SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。

PrepareStatement无序拼接SQL语句,编程更简单

PreparedStatement可以防止SQL注入,安全性好

Statement用于执行静态 SQL 语句并返回它所生成结果的对象。

生成PreparedStatement

 PreparedStatement pstmt = con.prepareStatement("update employee salary = ? where id = ?");
              pstmt.setBigDecimal(1, 1533.00)
              pstmt.setInt(2, 1102)
              pstmt.execute()//注意提交时这里不能再有sql语句,不同于Statment

创建statement对象
          Statement stat=conn.createStatement();
          String sql="insert into lover values(6,'suxingxing',to_date('21-9-2016','dd-mm-yyyy'))";
          stat.execute(sql);//这里提交时应该有sql语句,不同于PreparedStatment

5.面向对象思想与封装思想

面向对象:编程使用的一种编程思路,编程思想

面向对象和面向构成比较:都是编程思想,面向过程是面向对象的基础,面向对象是基于面向对象的

  面向过程:更强调解决问题的基本步骤,强调问题的解决方式,更强调的是方法。面向过程的编程思路:自顶向下,不断分解。

  面向对象:更强调解决问题的主体,更强调谁来解决这个问题,更强调的是对象,面向对象的编程思路:自顶向上,不断拼装。

洗衣服:  

   面向过程:准备盆子,放洗衣粉,放水,搅匀,泡衣服,揉一揉,唰一唰,晾出来。

  面向对象:找到可以洗衣服的机器,衣服放进去,按按钮,拿出来。

面向对象的好处:

  1.更符合人类的思想习惯,凡事喜欢找对象,找人,找工具,而不是找方法。

  2.复杂的问题简单化

  3.又执行者变成了指挥者。

封装的好处:

 1、提高了代码的复用性。

 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。

 3、提高了安全性。

你可能感兴趣的:(面试题总结)