1.抽象类为什么不能创建对象?
类是对一种事物共同点的描述,有属性方法才能是一个对象,而抽象类是一个包含一些尚未实现的方法的类,抽象类可能会包含抽象方法,也就是不确定的属性。它必须由派生的具体类实现。人们使用抽象类是为了说明要干什么事,而让他的实现类去根据自己的需要去实现这些方法,比如说抽象类定义一个eat()方法,它并没有说这个方法具体怎么做,羊就可以吃草,虎就可以吃肉,羊和虎都实现了这个吃的方法。
抽象类是不能被实例化的,只能子类继承该抽象类,并实现抽象类里的所有抽象方法,该子类可以被实例化
2.SQL查询语句关键字的执行顺序?
查询中用到的关键词主要包含六个,并且他们的书写顺序为(其中select和from是必须的,其他关键词是可选的 ):
select--from--where--group by--having--order by
执行顺序:
- from: 从哪张表检索数据
- where:设置条件,过滤表中数据
- group by:将上面过滤出的数据,进行分组
- having:对上面已经分组的数据进行过滤的条件
- select:指定查看结果集中的那个列或列的计算结果
- order by:对最终的结果进行排序
3.Statement和Preparestatement的区别
1、Statement用于执行静态SQL语句,在执行时,必须指定一个事先准备好的SQL语句。
PrepareStatement是预编译的SQL语句对象,sql语句被预编译并保存在对象中。
2、prepareStatement可以在SQL中用?替换变量;
Statement不支持 ? 替换变量,只能在sql中拼接参数;
3、PrepareStatement极大地提高了安全性,可以预防sql注入。
4、PrepareStatement可以减少编译次数提高数据库性能。