1.什么是类?什么是对象?类和对象的关系是什么?
- 类是抽象的概念,仅仅是模板
- 对象是一个你能够看得到、摸得着的具体实体
- 类是对象的类型,对象是类的实例化,具体化
2.类的方法中,有返回值和无返回值分别什么时候使用?
- 有返回值:想要通过方法得到一个固定的结果
- 无返回值:只需要执行即可
3. break,continue,return的作用分别是什么?
- Break:在switch中,跳出switch结构;在循环中,跳出当前循环,执行循环后面的代码
- Continue:在循环中,跳过本次循环,执行下一次循环
- Return:结束当前方法,并返回结果值
4. 成员变量和局部变量区别?
作用域不同:
- 局部变量的作用域仅限于定义它的方法
- 成员变量的作用域在整个类内部
初始值不同:
- Java会给成员变量一个初始值
- Java不会给局部变量赋予初始值
5. 形参和实参的特点?
- 实参的类型、数量、顺序都要与形参一一对应
6. 导包的快捷键?
- Ctrl+shift+o
7. 抽象出类的三个步骤?
a. 找出它的种类b. 找出它的属性 c. 找出它的行为
8. 构造方法的作用?
创建对象(实例化对象)(构造对象)
9. 方法的重载和方法的重写?
位置 方法名 参数表 返回值 访问修饰符
重写 子类 相同 相同 相同或是其子类 不能比父类更严格
重写 同类类 相同 不相同 无关 无关
10. static关键字的作用?
修饰属性:可以通过对象和类名调用
修饰方法:可以通过对象和类名调用
修饰代码块
11. 封装的概念?好处?
概念:将类的信息隐藏,不允许外部访问,通过该类提供的方法来操作和访问
好处:
- 隐藏类的实现细节
- 方便加入控制语句
- 方便修改实现
- 只能通过规定方法访问数据
12. this关键字的作用?
调用当前类的属性和方法
代表当前类的对象
13. 继承的好处是什么?关键字是什么?
好处:减少代码量、 减少代码冗余 、 代码复用
关键字:extends
14. 什么情况不能继承?
Private修饰
子类与父类不在同包,使用默认访问权限的成员
构造方法
15. 访问修饰符及其对应的权限?
访问修饰符: private、 默认(friendly)、 protected、public
访问权限
Private:本类
默认: 本类 , 同包
Protected: 本类 , 同包 , 子类
Public: 本类同包 子类 其他
16. 多重继承关系的初始化顺序?
顺序:父类属性à父类构造方法à子类属性à子类构造方法
17.super关键字的作用?
调用父类属性和方法
调用父类构造,只能在子类构造中的第一句
18. 抽象类和抽象方法的特点分别是什么?
抽象类:可以有抽象方法、 无法实例化
抽象方法: 抽象方法没有方法体、 抽象方法必须在抽象类里 、抽象方法必须在子类中被实现,除非子类是抽象类
19. final关键字的作用?
修饰属性,无法被重新赋值,无法修改
修饰方法,不能被重写
修饰类,不能被继承
20. 什么是多态?
同一个引用类型,使用不同的实例执行不同操作(声明父类,new子类)
21. 构成多态的三个要素是什么?
继承关系
子类重写父类方法
父类的引用指向子类的对象
22. instanceof关键字的作用?
对象 是否属于 某个类
23. 接口的特点?
接口不可以被实例化
实现类必须实现接口的所有方法
实现类可以实现多个接口
接口中的变量都是静态常量
24. 对比抽象类和接口?
相同点:都是抽象层 、不能被实例化 、包含抽象方法
不同点: 抽象类便于复用、接口便于代码维护 、 一个类只能继承一个直接的父类,但可以实现多个接口
25. 什么是异常?
程序的运行过程中所发生的不正常的事件(错误)
会中断正在运行的程序
26. .异常的处理方式?
使用try-catch(try-catch-finally)块捕获异常
27. 说出常见的五个异常,及其作用?
异 常 类 型 |
说 明 |
Exception |
异常的父类 |
ArithmeticException |
算术异常 运算异常 |
ArrayIndexOutOfBoundsException |
数组下标越界 |
NullPointerException |
空指针异常 |
ClassNotFoundException |
类无法加载 |
IllegalArgumentException |
非法参数 |
ClassCastException |
类转换异常 |
NumberFormatException |
数字格式转换异常 |
28. try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序? try-catch- finally块中, finally块唯一不执行的情况是什么?
不能
顺序: 发生异常,进入异常匹配,进入catch,执行finally,最后再返回catch块,执行return
唯一结束finally方式: System.exit()方式
29. throw和throws的区别?
Throw:抛出异常,主动产生一个异常错误 、抛出前必须先声明异常
Throws:声明异常,声明当前方法可能会出现的异常错误
30.根据日志记录器输出级别,从小到大,按顺序写出?( debug , warn , error , info )?
debug<info<warn<error