javaSE复习之——面向对象_包与权限修饰符
包的意义
我们以后开发程序都是把源码写在一个个的
源文件
里面,而不是在一个文件中创建很多的类
,包的用处就在这里,说白了包就是为了封装。
定义包的格式
1 | package 包名; |
- 例子:在这里当然也可以把
1
package java.util.Scanner;
Scanner
用*
代替,*
就是通配符,表示该目录下的所有包,但是效率没有导入具体的类高,因为需要遍历该包所有类。
ps:在开发中一般都不使用,而是导入具体的类
。
定义时的注意事项
1、必须是程序的
第一条
可执行语句
2、package
在一个java文件中只能有一个
3、包名的格式为域名倒写
- 例:com.aikan0.add
这个add就是这个包的作用。
生成包命令
1 | javac -d . 源文件名 |
- ps:了解一下就好了
面试题——package、import、class有没有顺序关系?
- 解答:
有,并且
package > import > class
权限修饰符
- 四种权限修饰符
本类 | 同一个包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | |
---|---|---|---|---|
private | Y | |||
默认 | Y | Y | ||
protected | Y | Y | Y | |
public | Y | Y | Y | Y |
ps:
protected
表示受保护的,就是保护权限只给给自己的子类,一般不用在变量
,而是用在成员变量
或者成员方法
。