黑马程序员_关于java 包的学习

 ----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ---------------------

听完创智博客老师关于java包的讲解后有如些总结:

    包与包之间的访问,被访问的包中的子类,以及类的成员,需要public修饰,不同包中的子类还可以直接访问分类中被protected权限修饰的成员。

 

     包与包中的权限只限于2种:public和protected。

 

以下是访问权限的统计:

                                     public                    protected             default            private

同一类中                       ok                           ok                            ok                  ok

同一包中                       ok                          ok                           ok                      no

子类                                 ok                         ok                          no                       no

不同包中                         ok                          no                        no                      no

  

 一下是从网上查找关于包的学习:

 

私有类package到同一个包里,且不用import,就可以互相访问

公有类package在不同包里,需要通过import,才可以互相访问

 

 

中的包(Package)其实指的就是目录,它是为了更好地管理类(Class)和接口(Interface)。Java语言的包可以被另一个Java开发包所使用。如果我们要引用某个包中的类,用import关键字来标明即可。比如:

    import java.util.

    date=new Date
 
    提示:import java.util. 表示java.util中的所有公有类和接口被引入到当前包。这里的 匹配符可以调入多个类名。

    常用的Java标准包

    JDK为我们提供了很多标准的Java类和接口,这些包是写Java程序所必需的,知道了每种包所包含的类和接口,并且熟悉这些类和接口是每个Java编程人员都应该掌握的基本技能。

    Java 中常用的包有:Java.applet、java.awt、java.i、java.lang、java.net和java.util等等。其中 java.applet包含了一些设计小应用程序(Applet)的类和接口;java.awt是一个窗口工具箱包(awt Abstract Window Toolkit),里面是一些GUI界面相关的类;java.io包支持输入输出,比如文件输入流类:FileInputStream等; java.lang包含线程、异常、系统、整数等相关的类,是Java程序中默认加载的一个包;java.net这个类支持TCP/IP网络,并包含 Socket类及URL相关的类,是网络编程中要使用的;java.util包含一些程序的公用类,如Date Dictionary等等。

    除了上面提到的一些标准包之外,还有很多其它的包,比如数据库编程时我们可能需要使用java.sql包,写网络程序还会用到java.rmi包 (RMI Remote Method Invocation)等。另外,Javax. 包是一些标准包的扩展,常用的包有:javax.swing、javax.sound。

    自己动手创建包

    Java中的包是可以自己创建的。我们可以将很多功能相近的类和接口放在同一个包中,以方便管理和使用。

    创建包的基本方法

    1.定义Public类;

    2.首句加“Package包名”;

    3.将Java文件生成的Class放在以包名为目录名的目录中

    4.在其它程序中用“import包名”就可以存取此包中的所有Public类。

    包的创建和使用

    //filename B.java

    package com.chen.test //定义一个包

    public class B //定义一个类

    public void add int i int j  //两个数求和,并输出

    System.out.println i+j 

    上面的代码便是为了创建一个简单的包:com.chen.test,我们将这个文件命名为B.java。现在运行javac -d C \ B.java编译该包(该命令在C盘下生成com\chen\test目录,并将编译结果保存在B.class中)。现在我们进入C \com\chen \test目录可以看到编译生成的Class文件也包含在内了。

    OK,现在这个包已经创建好了,这时需要你做的是把C \com\chen\test设置在你的环境变量classpath里。

    如何调用包

    现在我们再用一个小程序来调用上面创建的包:

    //filename A.java

    import com.chen.test. //引入刚才创建的包

    public class A

    public static void main String args 

    B test = new B  

    test.add 6 8  //用add  调用自定义包

    将上面的Java代码保存为C \A.java 然后编译:javac C \A.java。

    提示:对于包文件B.java,你可以不编译 而只将它放到C \com\chen\test目录下即可。要注意的是,A.java和B.java两个文件不可以放在相同目录下,这样就会出错。



关于静态应用:

// Repetition.java

package utils;

 
 

public class Repetition{
   
   public static String twice(String s){
        return s+s;
        }
}
 //test.java

import static utils.Repetition.twice;
public class test{
   
   
    public static void main(String args[]){
        System.out.println(twice("pizza"));
    }
}

运行结果: pizzapizza    


 ----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ---------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值