zoukankan      html  css  js  c++  java
  • java包与导包

     

    java包

    一、java常用包

    1. 常用包介绍

    • java.lang    java的核心类,提供常用功能,如:String、Math、System等。
    • java.util     包含一些使用工具类,如:定义系统特性、接口的集合框架类、日期等。
    • java.io       包含多种输入输出类。
    • java.net     包含执行与网络相关操作的类和接口。
    • jave.text    包含一些格式化相关的类。
    • java.sql      包含进行JDBC数据库编程相关的类和接口。
    • java.awt     包含构建和管理应用程序图像界面(GUI)的类,如:抽象窗口工具类(abstract window toolkits)等

    2. 各包详细介绍

    —— CSDN 原创文章

    二、建包:package

    1. 包语句

    包语句是java文件的第一条语句,且最多一条。语法如下:

    package 包名[.包名][...];

    举个例子:

    代码目录结构:

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavacnblogsmyPackPoint.java
     */
    package cnblogs.myPack;   // 包语句
    
    public class Point {
        String name = null;
        float x; // x坐标
        float y; // y坐标
        public Point() {                   // 默认构造方法
        }
        public Point(float a, float b) {   // 构造方法重载
            x = a;
            y = b;
        }
        public Point(float a, float b, String s) {   // 构造方法重载
            x = a;
            y = b;
            name = s;
        }
        public void showPoint() { // 显示点的信息
            if(name != null)
                System.out.printf("%s(%.2f, %.2f)
    ", name, x, y);
            else
                System.out.printf("p(%.2f, %.2f)
    ", x, y);
        }
        public double distance(Point p) { //计算两点距离
            return Math.sqrt(Math.pow((p.x - x), 2) + Math.pow((p.y - y), 2));
        }
    }
    
    class Test {
        public static void main(String args[]) {
            Point O = new Point(0, 0, "O");
            Point A = new Point(3, 4, "A");
            System.out.printf("d(OA) = %f
    ", A.distance(O));
        }
    }

    2. 编译

    编译时,当前目录应位于第一个包的上级目录下,如:在D:/Code目录下创建com.my.HelloWorld包,编译时应位于D:/Code位置下。

    javac 包名[包名]源文件

    举个例子:

    3. 运行

    运行时,目录位置与上述相同。

    java 包名[.包名].主类

     举个例子:

    三、导包:import

    1. 导包语句

    导包语句的数量不限,语法如下," .* "表示导入包中的所有类。

    import 包名[.包名][.类名|.*];

    前面说过,java.lang是Java的核心类,系统会自动导入。因此,每个文件中会有下面一个语句,所以,我们使用Math类、String类等是不需要导入的。

    import java.lang.*;

    举个例子:就上面的Point.java文件为例,编写位于外部的java文件导入Point类。

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavaE.java
     */
    import cnblogs.myPack.Point;
    
    public class E {
        public static void main(String args[]) {
            Point O = new Point(0, 0, "O");
            Point A = new Point(3, 4, "A");
            O.showPoint();
            A.showPoint();
            System.out.printf("d(OA) = %f
    ", A.distance(O));
        }
    }

    2. 静态导包

    静态导包只导入类中的静态属性,即类变量。语法如下:

    import static 包名[.包名].类名.类变量名|.*;

    举个例子:计算圆面积。

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavaE.java
     */
    import static java.lang.Math.PI;
    
    public class E {
        public static void main(String args[]) {
            int r = 125;
            double area = PI * r * r;
            System.out.println(area);
        }
    }

    四、基本数据类型的类封装

     其类封装位于java.lang包中,类名分别为:Boolean、Byte、Short、Character、Integer、Long、Float、Double

  • 相关阅读:
    求连续子数组的最大和
    【LeetCode练习题】Gas Station
    再来看看快速排序
    【LeetCode练习题】First Missing Positive
    【LeetCode练习题】Merge Sorted Array
    Hdu 2089-不要62 数位dp
    Tsinsen A1517. 动态树 树链剖分,线段树,子树操作
    Bzoj 3505: [Cqoi2014]数三角形 数论
    Poj 3695-Rectangles 矩形切割
    Tsinsen A1505. 树(张闻涛) 倍增LCA,可持久化线段树,DFS序
  • 原文地址:https://www.cnblogs.com/bpf-1024/p/12660035.html
Copyright © 2011-2022 走看看