java基础第11天

Java包管理与权限修饰
本文介绍了Java中的包管理概念,包括包的作用、命名规则、访问控制及如何使用import和jar命令。此外还详细解释了权限修饰符的使用范围及其在不同场景下的有效性。



(1)包:package
A:对类文件进行分类管理
   B:给类提供多层命名空间,处理类名冲突!
  C:放在程序代码的第一行(注释除外)
        
   B的例子:
  java.awt.List  
  java.util.List
  java.sql.Date
  java.util.Date
  


  (2)包的命名(小写)
   所有字母都要小写!
   包名也是标识符,与类名、变量名等,都是标识符,应该遵守标识符规范。



   (3)访问:先得有包,然后:包.类名
 编译自动生成包层次文件夹
  javac –d  路径 源文件名称
  java c –d  .  源文件名称
  javac  - d  .  PackageDemo.java


     -d 后面跟的是:目录
     当前目录:.
           运行时使用包的完全限定名(带包名)
   运行类时,一定要给出完全限定名(全名)。
   java cn.itcast.类名
(4)不同包之间类的访问
类一定要用类的完全限定名:包名.类名


2:protected
  包之间的继承关系(子类),或者同包。
3:import
1)使用import引入指定包中所有类(简化类名:import 包.*)
一个程序文件中只有一个package,可以有多个import。
用来导包中的类,不导入包中的包。

2)错误的import引入
  import java.*; (java包下没有类只有包,*代表所有类)  
  import *.*;
   3)无需引入的包java.lang
  java.lang包下的类是常用类无需使用import来导入,但你非要导入也可以。
   
  
4:jar
(1)打包:
  打jar包 :jar cf  Package.jar cn(jar cf  打包后的名称  要打包的名称)
(2)查看jar包
jar  -xvf  Package.jar
  (3)jar.exe命令的参数
c:创建新的jar文件
f:指定文件名称
v:显示打包过程
m:指定清单文件
t:查看以存在jar文件内容
   (4)查看以存在jar文件内容:jar –tf  Package..jar





5:权限修饰符
同一个类中     同一个包中不同包中子类中    不同包中,不存在继承关系
private OK
默认 OK Ok
protected    OkOk Ok
public OK Ok OK OK




6:关键字用来修饰什么?
属性方法 构造方法
private OK OK OK
默认 OK OkOk OK
protected Ok Ok OK
public Ok Ok Ok OK
static Ok Ok
final Ok Ok Ok
abstract Ok Ok


特殊:private和static可以修饰内部类。不用掌握。
      static可以代码块。静态代码块。掌握。


A:权限修饰符任意时刻只能使用一种。
B:static,private,final 不能和abstract并用。


例1,导包例子
import java.util.Date;
class  PackageTest
{
public static void main(String[] args) 
{
Date d = new Date();


}
}
例2,编译自动生成包层次文件夹
javac –d 路径 源文件名称
java c –d . 源文件名称
javac –d . PackageTest.java




运行时使用包的完全限定名(带包名)
  运行类时,一定要给出完全限定名(全名)。
  java cn.itcast.类名


package cn.itcast;
class  PackageTest
{
public static void main(String[] args) 
{

     System.out.println("Hello!!!");
}
}
例3打包
1,编译自动生成包层次文件夹 javac –d . PackageTest.java
2,打jar包 :jar cf  Package.jar cn(jar cf  打包后的名称  要打包的名称)
package cn.itcast;
class  PackageTest
{
public static void main(String[] args) 
{

     System.out.println("Hello!!!");
}
}
例4把jar包引入到classpath中(会用到例3中的包)
先把这个包Package.jar放在F:\java0108\目录下
再配置classpath
然后编译,运行
E:\java0108\day11>set classpath=F:\java0108\Package.jar;.


E:\java0108\day11>javac -d . MainApp.java


E:\java0108\day11>java cn.itcast.MainApp
Hello!!!




package cn.itcast;
import cn.itcast.PackageTest;
class  MainApp
{
public static void main(String[] args) 
{

     PackageTest.main(null);
}
}
例5把jar包引入到classpath中


package cn.itcast;
import cn.itcast.PackageTest;
class  PackageTest
{
public static void main(String[] args) 
{

     System.out.println("Hello!!!");
}
}
例6protected(保护)访问级别 (写两个java文件PackageTest .java ,MainApp.java)
package cn.itcast.a;


public class PackageTest {
protected void fun() {
System.out.println("PackageTest#fun()...");
}
}


package cn.itcast.main;


import cn.itcast.a.PackageTest;


public class MainApp extends PackageTest {
public void app() {
// super.fun();
}


public static void main(String[] args) {
MainApp ma = new MainApp();
ma.fun();
}

}



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值