21、包与访问修饰符
包用于对多个java源文件的管理,就像我们的文件目录一样,未来我们可能会写很多很多不同的java代码,一个项目肯定是一个java文件类,文建会很多很多,所以我们就需要分门别类,去管理这些代码。这样的话为了我们去查找、找问题的时候,都比较方便一些。
定义一个包:
package com.vince//package 包名
该语句只能出现在代码中的第一句。我们首先建一个包吧:
//目录是一层一层的,最顶层的目录是范围最大的,越往里范围约小。
package com.qianfeng.studentmanager.vo;
/*包这边通常我们用网址的形式来描述(com:商业,第二个:公司名称(可以是缩写),第三个:项目的名称(可以缩写),
第四个:模块或者模块的名字,上面vo是专门存值的一个模块*/
/*然后我们就可以写类*/
public class student
{
private int id;
private String name;
private int age;
//...getter、setter方法等这里就不写了
}
当我们保存包的时候,注意一下,先建好包名
保存为student.java。这样,包字体就变颜色了,编译了以后呢,生成了.class文件,因为这时候还没有智能的开发环境,所以需要我们自己去建立骨架,稍微麻烦一点,未来我们用了Eclipse以后,建包就会更方便一些了,这是包的一个概念,就是用来分门别类的。未来可能是一个类就是一个文件,我们前面为了给大家看代码更方便,很多类都是放在同一个文件,但是只能有一个是public的,有包以后,未来所有类各都是单独一个文件去规划就可以了。
访问修饰符
访问修饰符 | 同一个类 | 同包 | 不同包子类 | 不同包非子类 |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
默认 | √ | √ | ||
private | √ |
OO原则总结
OO原则:
(1)开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭
(2)合成/聚合复用原则:新对象的某些功能在已创建好的对象里已经实现,那么尽量用已有对象提供的功能,使之成为新对象的一部分,而不再需要重新创建
(3)依赖倒置原则:高层模块不应该依赖底层模块,二者应该依赖其抽象;抽象不应该依赖其细节,细节应该依赖抽象
(4)接口隔离原则:客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小接口上
(5)迪米特原则:一个对象应该对其他对象保持最少的了解
(6)里氏替换原则:所有引用基类的地方必须能透明的使用其子类对象
(7)单一职责原则:不要存在多于一个导致类变更的原因,即一个类只负责一项指责