java基础概念:
类的组成:
- 成员属性:描述类的静态信息
- 成员方法:描述类的动态功能行为
- 构造器(构造方法):用于给类精选初始化、创建对象(new)
- 代码块
- 内部类
- 静态成员(static):静态属性(类属性)、静态方法(类方法)、静态代码块
- 非静态方法中可以调用静态成员,静态方法中不能调用静态成员(取决于内存的加载机制)。
- 最终态成员(final):
- 最终属性(常量——常量名全部大写):常量只能被初始化(赋值)一次。
- 最终方法:final修饰的方法被继承后不能被重写。
- 最终类:final修饰的类不能被继承。
- 抽象对象(abstract):
- 抽象类:抽象类不能被实例化创建具体对象,一个累中只要与任何抽象方法,这个类就必须是一个抽象类。
- 一个类如果内部没有抽象方法,也可以是抽象的,这种做法一般用于防止用户自己创建对象,因为该对象在创建时需要一些特定参数,这些参数由类内部提供(工厂设计模式)
- 抽象方法:抽象方法只有定义没有实现。没有{}
- 抽象方法表示某个类具有某种功能,但是该功能的实现留给子类重写。
- 抽象类:抽象类不能被实例化创建具体对象,一个累中只要与任何抽象方法,这个类就必须是一个抽象类。
接口interface
接口是java中的一种特殊类型。接口易班多用来竞选设计,接口课用于制定规范。
- 常量:编译器会给接口中的变量默认追加 public static final
- 抽象方法:编译器会给接口中的方法默认追加public abstract
- 默认方法(JDK1.8):用default关键字修饰,可以有方法实现。
- 静态方法(JDK1.8):static修饰的方法
接口日常使用步骤:
1、对需求进行分析,分析出每个模块具有的功能
2、根据模块定义接口
3、将模块中具有的功能通过接口抽象方法定义
4、创建对应模块的接口实现类,在实现类中添加具体方法的实现
思考:
请简述接口和抽象类的异同。
java中的异常处理机制
-
java中的异常体系
- throwable:java中所有的不正常情况
- Error:不可被捕获的严重错误,发生此类错误需要修改代码/代码思路。
- Exception:可被捕获的异常,发生此类异常可以通过java的异常处理机制语法解决。
- RunntimeException及其子类:运行时异常,在我们写代码期间不需要关心这些异常,程序运行时正常发生后处理既可。
- 非RunntimeException及其子类:编译时异常,编译时异常在携带那期间编辑器会检查出异常,此类异常需要我们手动通过异常处理机制解决。
- throwable:java中所有的不正常情况
-
程序中出现的异常如果不处理,会导致虚拟机报错,同时虚拟机停退出。为了程序的健壮性,应该通过一定的机制处理异常,java中处理异常的方式:
- 异常抛出:在程序方法中通过throw关键字抛出异常,同时在方法上通过throw声明这个被抛出的异常。严格意义长来说,异常抛出并不会真正的解决异常,只是将异常向上传递。
- 这种方式可以避免单个异常频繁处理导致程序臃肿。
- 异常捕获:这个是能够真正处理异常的方式,通过try … catch … final …语法完成异常的捕获及处理,异常被捕获中,不会影响程序的运行。
思考:
1、java中异常的体系结构?