DAY-13
今天:
对文件进行操作的时候注意要先关闭流,不然就会造成相关操作失败,就像windows的文件在使用过程中也是无法对其进行相关文件操作的.
关于JAVA抽象类,
(1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;
(2)抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
(3)抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
(4)子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
(5)抽象类继承子类里面有明确的方法覆写要求,而普通类可以有选择性的来决定是否需要覆写;
(6)抽象类实际上就比普通类多了一些抽象方法而已,其他组成部分和普通类完全一样;
(7)普通类对象可以直接实例化,但抽象类的对象必须经过向上转型之后才可以得到。
(8)外部抽象类不能用Static修饰,但内部的抽象类可以使用Static声明
(9) 抽象类也不能用 final private 修饰。
关于接口:
接口中的方法定义默认为public abstract
类型,接口中的成员变量类型默认为public static final
。
抽象类与接口的区别
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的可以有非抽象方法,比如deaflut
方法。
4.抽象类中可以包含静态方法,接口中不能包含静态方法