java包的概述深入讲解.docx
《java包的概述深入讲解.docx》由会员分享,可在线阅读,更多相关《java包的概述深入讲解.docx(12页珍藏版)》请在冰点文库上搜索。
java包的概述深入讲解
1求和
/*
Demo类,求和
*/
packagecom.liuyi;
publicclassDemo{
publicintsum(inta,intb){
returna+b;
}
}
2导包
/*
Test类,测试
导包:
格式:
import包名;
这种方式导入是到类的名称。
注意:
我们用谁就导谁。
面试题:
package,import,class有没有顺序关系?
有。
package>import>class
Package:
只能有一个
import:
可以有多个
class:
可以有多个,以后建议是一个
*/
packagecn.itcast;
importcom.liuyi.Demo;
classTest{
publicstaticvoidmain(String[]args){
//Demod=newDemo();
/*
com.liuyi.Demod=newcom.liuyi.Demo();
System.out.println(d.sum(10,20));
com.liuyi.Demod2=newcom.liuyi.Demo();
System.out.println(d2.sum(10,20));
com.liuyi.Demod3=newcom.liuyi.Demo();
System.out.println(d3.sum(10,20));
com.liuyi.Demod4=newcom.liuyi.Demo();
System.out.println(d4.sum(10,20));
*/
Demod=newDemo();
System.out.println(d.sum(10,20));
}
}
/*
第一个问题:
找不到Demo
第二个问题:
程序包com.liuyi不存在
第三个问题:
Demo在com.liuyi中不是公共的;无法从外部程序包中对其进行访问
*/
3包的案例
/*
包:
A:
其实就是文件夹
B:
作用
a:
把相同的类名放到不同的包中
b:
对类进行分类管理
举例:
学生:
增加,删除,修改,查询
老师:
增加,删除,修改,查询
...
方案1:
按照功能分
cn.itcast.add
AddStudent
AddTeacher
cn.itcast.delete
DeleteStudent
DeleteTeacher
cn.itcast.update
UpdateStudent
UpdateTeacher
cn.itcast.find
FindStudent
FindTeacher
方案2:
按照模块分
cn.itcast.teacher
AddTeacher
DeleteTeacher
UpdateTeacher
FindTeacher
cn.itcast.student
AddStudent
DeleteStudent
UpdateStudent
FindStudent
包的定义
package包名;
多级包用.分开即可
注意事项:
A:
package语句必须是程序的第一条可执行的代码
B:
package语句在一个java文件中只能有一个
C:
如果没有package,默认表示无包名
带包的编译和运行:
A:
手动式
a:
编写一个带包的java文件。
b:
通过javac命令编译该java文件。
c:
手动创建包名。
d:
把b步骤的class文件放到c步骤的最底层包
e:
回到和包根目录在同一目录的地方,然后运行
带包运行。
B:
自动式
a:
编写一个带包的java文件。
b:
javac编译的时候带上-d即可
javac-d.HelloWorld.java
c:
回到和包根目录在同一目录的地方,然后运行
带包运行。
*/
packagecn.itcast;
classHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld");
}
}
4修饰符
/*
修饰符:
权限修饰符:
private,默认的,protected,public
状态修饰符:
static,final
抽象修饰符:
abstract
类:
权限修饰符:
默认修饰符,public
状态修饰符:
final
抽象修饰符:
abstract
用的最多的就是:
public
成员变量:
权限修饰符:
private,默认的,protected,public
状态修饰符:
static,final
用的最多的就是:
private
构造方法:
权限修饰符:
private,默认的,protected,public
用的最多的就是:
public
成员方法:
权限修饰符:
private,默认的,protected,public
状态修饰符:
static,final
抽象修饰符:
abstract
用的最多的就是:
public
除此以外的组合规则:
成员变量:
publicstaticfinal
成员方法:
publicstatic
publicabstract
publicfinal
*/
//此处不允许使用修饰符private
//此处不允许使用修饰符protected
//此处不允许使用修饰符static
publicclassDemo{
//成员变量
privateintx=10;
inty=20;
protectedintz=30;
publicinta=40;
publicfinalintb=50;
publicstaticintc=60;
publicstaticfinalintd=70;
//此处不允许使用修饰符abstract
//abstractinte=80;
//构造方法
privateDemo(){}
Demo(Stringname){}
protectedDemo(Stringname,intage){}
publicDemo(Stringname,intage,Stringaddress){}
//此处不允许使用修饰符static
//publicstaticDemo(){}
//此处不允许使用修饰符final
//publicfinalDemo(){}
//此处不允许使用修饰符abstract
//publicabstractDemo(){}
//成员方法
//staticvoidshow(){}
//abstractvoidshow();
//finalvoidshow(){}
}
5private修饰符
/*
权限修饰符:
本类同一个包下(子类和无关类)不同包下(子类)不同包下(无关类)
privateY
默认YY
protectedYYY
publicYYYY
*/
packagecom.liuyi;
publicclassFather{
privatevoidshow(){
System.out.println("show");
}
voidshow2(){
System.out.println("show2");
}
protectedvoidshow3(){
System.out.println("show3");
}
publicvoidshow4(){
System.out.println("show4");
}
publicstaticvoidmain(String[]args){
Fatherf=newFather();
f.show();
f.show2();
f.show3();
f.show4();
}
}
6父子集
Son.java
packagecom.liuyi;
publicclassSonextendsFather{
publicstaticvoidmain(String[]args){
Fatherf=newFather();
//f.show();
f.show2();
f.show3();
f.show4();
System.out.println("--------------");
Sons=newSon();
//s.show();
s.show2();
s.show3();
s.show4();
}
}
Son2.java
packagecn.qx;
importcom.liuyi.Father;
publicclassSon2extendsFather{
publicstaticvoidmain(String[]args){
Fatherf=newFather();
//f.show();
//f.show2();
//f.show3();
f.show4();
System.out.println("--------------");
Son2s=newSon2();
//s.show();
//s.show2();
s.show3();
s.show4();
}
}
Test.java
packagecom.liuyi;
publicclassTest{
publicstaticvoidmain(String[]args){
Fatherf=newFather();
//f.show();
f.show2();
f.show3();
f.show4();
}
}
Test2.java
packagecn.qx;
importcom.liuyi.Father;
classTest2{
publicstaticvoidmain(String[]args){
Fatherf=newFather();
//f.show();
//f.show2();
//f.show3();
f.show4();
}
}