Java和mysql知识点梳理(面试)
1. SQL语言四大类:
- DQL 数据查询语言 select
- DML 数据操纵语言 insert、update、delete
- DDL 数据定义语言 create、alter
- DCL 数据控制语言 grant权限
2. mysql数据库中的decimal类型(是数值型,不能存放字符串):
- 举例:decimal(18,0) 常用于身份证号码,但是带x的不可以。
- 举例:decimal(5,2)
- 情况一:假如小数点前面是3位,后面是2位,正常情况。
- 情况二:5指的是小数点前后不能超过5位,小数点后必须是2位。
3. mysql中InnoDB和MyISAM引擎的区别:
- innodb支持:事务和主外
- myisam不支持:事务和主外键
4. 【不需要背诵,选择题考点】向mysql中,a向表中添加数据的几种写法,题目:id int 主键自增,name varchar(11) 不为空。
- 写法:insert into a(id,name) values(1,‘小明’);
- 写法:insert into a(name) values(‘小明’);
- 写法:insert into a(id,name) values(null,‘小明’);
- 写法:insert into a values(‘小明’); 错误写法
- 写法:insert into a values(1,‘小明’); 正确写法
5. 操作mysql数据库表有两种方式,第一种:点八点吧;第二种:写代码。【不需要背诵,只需要了解,考试选择题会出】
- 添加字段|列名:alter table 表名 add 列名 数据类型 约束;
- 修改字段:alter table 表名 modify 列名 数据类型 约束;
- 删除字段:alter table 表名 drop column 列名;
- 给表重命名:alter table 表名 rename to 新表名;
- 删除主键:alter table 表名 drop primary key;
- 查看表结构:desc 表名;
- 查看当前数据库中的所有表名称:show tables;
- 查看当前账户下所有的数据库名称:show databases;
- 删除外键:alter table 外键表 drop foreign key 外键名;
6. 在Java中,简述面向对象三大特征。
- 封装:隐藏了类内部实现细节,提供对外接口,保证了数据的安全性
- 继承:减少了代码的冗余,实现了代码的复用
- 多态:利于代码的扩展
7. 在Java中,常用关键字:
- 定义类的关键字是什么? class
- 继承的关键字是什么? extends
- 定义接口的关键字是什么? interface
- 实现接口的关键字是什么? implements
- 抽象类的关键字是什么? abstract
8. 在Java中,抽象类和接口的区别:
- 抽象类中可以包含普通方法和抽象方法,接口中只能包含抽象方法
- 抽象类中可以有构造方法,接口中没有构造方法
- 抽象类只能单继承,可以实现多个接口
9. Java接口中有哪些成员?
- 构造方法,没有
- 常量,默认访问修饰符public static final,没有变量
- 抽象方法,默认访问修饰符public abstract
10. 在Java中,抽象类和抽象方法的关系:
- 抽象类中可以包含普通方法和抽象方法,抽象方法一定存在抽象类中。
- 子类继承抽象父类,必须实现|重写抽象方法,除非子类也是抽象类。
①【判断题】抽象类中必须包含抽象方法?【错误×】
②【判断题】抽象方法一定存在抽象类中?【正确√】
11. Java重载的特点:
- 在同一个类中
- 方法名相同
- 参数列表(个数、类型、顺序)不同
- 与返回值类型和访问修饰符无关
12. Java重写的特点:
- 在父子类中
- 方法名相同
- 参数列表相同
- 返回值类型相同,或是其子类
- 访问修饰符相同,或不能严于父类
13. 列举几种Java实现多态的形式:
- 继承的存在
- 父类引用指向子类对象 | 向上转型
- 父类作为方法的返回值类型,父类作为方法的参数
14. Java接口的特性:单根性和传递性
15. 在Java中,throws和throw的区别:
- throws 声明异常,用在定义方法小括号的后面
- throw 抛出异常,写在方法体内
16.【判断题】
- Java接口可以多继承吗?【正确√】
- Java类可以多继承?【错误×】
17. Java访问修饰符: