包其实就是文件夹,作用就是对类进行分类管理。
包的定义格式:
package name; // 多级的包要用 . 分开。
package web.login //
带包的Java类编译和执行有包的java文件时:
使用 javac 编译,java 在命令行运行时,发现编译正常运行找不到类。
javac name.java -------->>>>>>>> java web.login.name
原因是运行时会寻找对应的文件夹下的class文件,但是javac不会创建,需要手动创建。若需要自动创建,需要使用以下命令:
javac -d . 文件名.java --------->>>>>>>> java web.login.name
下面说明了不同的修饰符所修饰的类在其他类中的访问情况。
修饰符 | 同一个包中的子类和无关类 | 不同包中的子类 | 不同包中的无关类 |
---|---|---|---|
private | |||
default | √ | ||
protected | √ | √ | |
public | √ | √ | √ |
public Student(){ public static String sex; } @anotherfile public class Demo(){ public static void main(String[] args){ Student.sex = "男";//这样所有的实例化的对象性别都是男了 Student s1 = new Student(); s1.sex = "男"; //两种方法都可以实现赋值,但建议用前面一种 } }