目录
包
包: 可以更好得管理逻辑相关的类,可以控制不同包之间的访问权限
导入外部包的类,用关键字import
全类名= 包名+类的简称
作用:
-
避免类重名
-
按照不同的功能管理类 day1,day2 功共的功能,数据库交互的功能,与前端交互的功能
-
控制访问权限
包(package)的命名规范:
-
在包名中,可以使用.号来区分包的级别;包名一般情况下是小写
-
第一级 指该项目的类型,如com,org,gov等,
-
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等
-
第三级 指项目的名称,如:bcms,oa,erp,cms等
-
第四级 指项目模块的名称,如:bean,action,exception等
public 修饰类,修饰类时,类名必须与文件名字一致, 一个.java文件中,只能有一个public修饰的类
在java中java.lang包中的不需要导入,可以直接使用。
package day2;
//import 用来导入其他包中的类,同包中使用不需要导入
import day1.demo.Car;
import java.util.Date;
public class PackageDemo {
public static void main(String[] args) {
Date d = new Date();
new java.sql.Date(100);//和上面的类名一样,但是导入的包名不一样,需将第二个写为全类名
String s = ""; //在java中java.lang包中的不需要导入,可以直接使用
}
}
访问权限修饰符
Java语言有四个权限访问修饰符,权限从大到小依次为:
1)public :公共权限, 修饰类、属性、方法。可以被任意类访问
2)protected:受保护的权限 ,修饰属性、方法。可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问。
3)默认:同包权限 ,修饰类、属性、方法。只能被同包的类访问
4)private:私有权限, 修饰属性、方法。 只能在本类中访问
package day1;
public class Demo {
public int pub; //公共权限 修饰类、属性、方法。
protected int pro; //受保护权限 修饰属性、方法。
int num; //默认权限 同包权限 修饰类、属性、方法。
private int pri; //私有权限 修饰属性、方法。 只能在本类中访问
public void putMethod(){
}
protected void proMethod(){
}
void method(){
}
private void priMethod(){
}
public static void main(String[] args) {
Demo demo = new Demo();
demo.pub = 10;
demo.pro = 20;
demo.num = 30;
demo.pri = 40;
}
}
package day1;//和Demo是同一个包下的类
public class TestDemo{
public static void main(String[] args) {
Demo demo = new Demo();
demo.pub;
demo.pro;
demo.num;
// demo.pri; private修饰,是私有权限的,只能在本类中使用
}
}
package day2;
import day1.Demo;
//extends 表示继承另一个类,要继承day1中的Demo类,因为受保护的属性在day1中的Demo类中
public class DemoChild extends Demo {
public static void main(String[] args) {
DemoChild demoChild = new DemoChild();
demoChild.pro = 10;//使用不同包的子类访问受保护的权限修饰的成员
}
}