关于导包:
jdk提供基本包:
1.java.lang : 不需要导包,虚拟机自动引入
2.java.util : 要导包,提供一些实用类(如 scanner)
3.java.io : 输入输出(要导包)
如何导包:
为了使用不在同一包中的类,需要在java程序中使用 import 关键字导入这个类
格式 : import 包名 类名
如: import java.util.*;(把util包里面所有的类都导入该到里面,注意:不会导入util子文件夹里的类)
结论:一个类同时引用了两个来自不同包的同类名,必须通过完整的类名来区分
package demo17;
import demo15.Penguin;
public class Test {
public static void main(String[] args) {
//前面不写包名就要导包;写包名就不用导包了
Penguin p1 = new Penguin();
demo16.Penguin p2 = new demo16.Penguin();
}
}
//一个类同时引用了两个来自不同包的同类名,必须通过完整的类名来区分
结论:一个Java文件中只能有一个public修饰的类,并且这个类的名称要和这个Java文件的名称保持一致 一个Java文件中除了public修饰的类之外,还可以定义0个或者多个默认修饰符(什么都不写)的类 注意:一般来说,一个Java文件中只定义一个类
package demo18;
/*
* 一个Java文件中只能有一个public修饰的类,并且这个类的名称要和这个Java文件的名称保持一致
* 一个Java文件中除了public修饰的类之外,还可以定义0个或者多个默认修饰符(什么都不写)的类
* 注意:一般来说,一个Java文件中只定义一个类
*/
public class PublicClass {
}
class Demo01{
}
class Demo02{}
访问权限修饰符
1.类访问权限修饰符
public修饰符: 公有访问级别
默认修饰符(default): 包级私有,只有在同一个包中的类才能访问默认修饰符修饰的类
2.类成员访问修饰符:
本类 | 同包非子类 | 不同包非子类 | 同包子类 | 不同包子类 | |
public | √ | √ | √ | √ | √ |
portected | √ | √ | × | √ | × |
默认修饰符 | √ | √ | × | √ | × |
private | √ | × | × | × | × |