包
什么是包?
包是用来分门别类的管理各种不同类的,类似于文件夹、建包利于程序的管理和维护。
建包的语法格式:
package
公司域名倒写
.
技术名称。报名建议全部英文小写,且具备意义
![](https://img-blog.csdnimg.cn/d12b7a74b9134f4883ddfae90f9fcc29.png)
建包语句必须在第一行,一般
IDEA
工具会帮助创建
导包
相同包下的类可以直接访问
,
不同包下的类必须导包,才可以使用!导包格式:
import
包名.类名
;
假如一个类中需要用到不同类,而这个两个类的名称是一样的,那么默认只能导入一个类,另一个类要带包名访问。
权限修饰符
什么是权限修饰符?
l
权限修饰符:是用来控制一个成员能够被访问的范围的。
l
可以修饰成员变量,方法,构造器,内部类,不同权限修饰符修饰的成员能够被访问的范围将受到限制
权限修饰符的分类和具体作用范围:
权限修饰符:有四种作用范围由小到大(private -> 缺省 -> protected - > public )
![](https://img-blog.csdnimg.cn/72eaa3466aea437e901ceec08a74f4d2.png)
学完权限修饰符需要具备如下能力
能够识别别人定义的成员的访问权限。
自己定义成员(方法,成员变量,构造器等)一般满足如下要求:
成员变量一般私有。
方法一般公开。
如果该成员只希望本类访问,使用
private
修饰。
如果该成员只希望本类,同一个包下的其他类和子类访问,使用
protected
修饰。
final
final的作用
final
关键字是最终的意思,可以修饰(方法,变量,类)
修饰方法:表明该方法是最终方法,不能被重写。
修饰变量:表示该变量第一次赋值后,不能再次被赋值
(
有且仅能被赋值一次
)
。
修饰类:表明该类是最终类,不能被继承。
final修饰变量的注意
l
final
修饰的变量是基本类型:那么变量存储的
数据值
不能发生改变。
l
final
修饰的变量是引用类型:那么变量存储的
地址值
不能发生改变,但是地址指向的对象内容是可以发生变化的。
常量
常量概述和基本作用
常量
常量是使用了
public static final
修饰的成员变量,必须有初始化值,而且执行的过程中其值不能被改变。
常量的作用和好处:可以用于做系统的配置信息,方便程序的维护,同时也能提高可读性。
常量
常量概述和基本作用
常量做信息标志和分类
选择常量做信息标志和分类:
代码可读性好,实现了软编码形式。
枚举
枚举的概述
枚举的使用场景演示
枚举
枚举的概述
枚举的使用场景演示
抽象类
抽象类、抽象方法概述
抽象类的案例
抽象类的特征、注意事项
抽象类的应用知识:模板方法模式
抽象类
某个父类知道其所有子类要完成某功能,但是每个子类完成情况都不一样,父类就只定义该功能的基本要求,具体实现由子类完成,这个类就可以是一个抽象类,
抽象类其实就是一种不完全的设计图。
抽象类必须使用
abstract
修饰:
![](https://img-blog.csdnimg.cn/f42641dac4cd4dc184e5c1262e03a221.png)
抽象的使用总结与注意事项
抽象类用来被继承的,抽象方法是交给子类重写实现的。
一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。
总结:
![](https://img-blog.csdnimg.cn/c3c7c7497af7485b95cd9b800c9dce85.png)
final和abstract是什么关系?
互斥关系
abstract
定义的抽象类作为模板让子类继承,
final
定义的类不能被继承。
抽象方法定义通用功能让子类重写,
final
定义的方法子类不能重写。
总结:
模板方法模式解决了什么问题?
极大的提高了代码的复用性
模板
方法
已经定义了通用结构,
模板不能确定的定义成抽象方法。
使用者只需要关心自己需要实现的
功能
即可
。
接口
接口概述、特点
什么是接口?(重点关注接口语法)
接口就是体现规范的,其中用抽象方法定义的一组行为规范,接口是更加彻底的抽象。
体现了现实世界中“如果你是这类事物...则必须完成某些行为...”的思想。
接口
接口的基本使用:被实现
接口
接口与接口的关系:多继承
接口
JDK8开始接口新增方法
总结:
接口的注意事项
1、接口不能创建对象
2、一个类实现多个接口,多个接口中有同样的静态方法不冲突。
3、一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
4、一个类实现了多个接口,多个接口中存在同名的默认方法,不冲突,这个类重写该方法即可。
5、一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。