Java OOP day05

笔记:
1.static final常量:
1)必须声明同时初始化
2)常常通过类名点来访问,不能被改变
3)常量名建议所有字母都大写,多个单词之前用_分隔
4)编译器在编译时将常量直接替换为具体的值,效率高
2.抽象方法:
1)由abstract修饰
2)只有方法的定义,没有方法的具体实现(连大括号都没有)
3.抽象类:
1)由abstract修饰
2)包含抽象方法的类必须是抽象类
不包含抽象方法的类也可以声明为抽象类—-我乐意
3)抽象类不能被实例化, 虽然不能new 类名(),但可以new 类名[];
4)抽象类都是需要被继承的,子类:
4.1)重写所有抽象方法
4.2)也声明为抽象类———-一般不这么做
5)抽象类的意义:
5.1)封装子类共有的属性和行为———-代码复用
5.2)为所有子类提供了一种统一的类型—-向上造型
5.3)可以包含抽象方法,为所有子类提供一个统一的入口
子类可以有不同的实现,但方法的定义(入口)是一致的
6).abstract与final冲突。
tips:public、static、final、abstract不分先后。
4.接口:
1)是一个标准、规范—–制定方
遵守了这个标准就能干某件事——–API之后
2)接口是一种数据类型(引用类型),与类并列,也可以说接口是完全抽象的抽象类。
3)由interface定义,
只能包含常量和抽象方法,修饰词public abstract默认存在,故子类里要注意。
4)接口不能被实例化
5)接口是需要被实现的,实现类/子类:通过implements关键字,必须重写所有抽象方法使之完整(如果子类声明是abstract也行,但没意义)。
6)一个类可以实现多个接口,有逗号隔开
若又继承又实现时,应先继承后实现
7)接口可以继承接口

任务:
1.实现银行卡系统的案例———两次
2.接口与抽象类的区别——什么时候用接口什么时候用抽象类
3.自学:Arrays.sort,String.Replace 和 String.ReplaceAll 的区别

你可能感兴趣的:(Java,Study,of,Tarena)