1.抽象类为什么不能创建对象?
类是对一种事物共同点的描述,有属性方法才能是一个对象,而抽象类可能会包含抽象方法,也就是不确定的属性,如果也能实例化为一个类,至少这个对象就不是个确定的对象了。
2.SQL查询语句关键字的执行顺序。
书写sql语句时各关键字的顺序:
select
from
where
group by
having
order by
执行顺序:
from
where
group by
having
select
order by
3.Statement和PreparedStatement的区别。
Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。在默认情况下,同一时间每个 Statement 对象只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。
PreparedStatement:表示预编译的 SQL 语句的对象。 SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
4.封装思想和面向对象思想
什么是封装(面向对象的三大特征之一):
1、把对象的状态和行为看成一个统一的整体,将二者存放在一个独立的模块中(一个类中)。
2、“信息隐藏”:把不需要让外界知道的信息隐藏起来,尽可能隐藏对象功能实现细节,向外暴露方法,保证外界安全(把所有数据信息隐藏起来,尽可能隐藏多的功能,只向外暴露便捷的方法,以供调用)。
封装的好处:
1、使调用者正确,方便地使用系统功能防止调用者随意修改系统属性
2、提高组件的重用性
3、达到组件之间的低耦合性(当某一个模块实现变化时,只要只要对外暴露 的接口不变,就不会影响到其他模块)。
通过什么来实现隐藏和暴露功功能呢?
高内聚:把该模块的内部数据、功能细节隐藏在模块内部,不允许外界直接干预。
低耦合:该模块只需要给外界暴露少量功能方法。