Java-继承与多态

  一。包
 
  1.什么是包
 
  包 (package) 是组织类的一种方式,使用包的主要目的是保证类的唯一性。
 
  2.导入包中的类
 
  Java中已经提供了很多现成的类供我们使用,比如我们可以使用 java.util.Date 这种方式引入 java.util 这个包中的 Date 类。代码如下:
 
  public class Test {
 
  public static void main(String[] args) {
 
  java.util.Date date = new java.util.Date();
 
  // 得到一个毫秒级别的时间戳
 
  System.out.println(date.getTime());
 
  }
 
  }
 
  但是这种写法往往比较麻烦,所以我们可以使用import语句导入包。代码如下:
 
  import java.util.Date;
 
  public class Test {
 
  public static void main(String[] args) {
 
  Date date = new Date();
 
  // 得到一个毫秒级别的时间戳
 
  System.out.println(date.getTime());
 
  }
 
  }
 
  如果需要使用 java.util 中的其他类, 可以使用 import java.util.*。这里的*可以理解为通配符,用它就可以使用包中的所有类。代码如下:
 
  import java.util.*;
 
  public class Test {
 
  public static void main(String[] args) {
 
  Date date = new Date();
 
  // 得到一个毫秒级别的时间戳
 
  System.out.println(date.getTime());
 
  }
 
  }
 
  注意:Java是用到包中的哪个类就导入哪个类
 
  但是 我们更建议显示的指定要导入的类名,否则还是容易出现冲突的情况。例如:
 
  import java.util.*;
 
  import java.sql.*;
 
  public class Test {
 
  public static void main(String[] args) {
 
  // util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错
 
  Date date = new Date();
 
  System.out.println(date.getTime());
 
  }
 
  }
 
  // 编译出错
 
  Error:(5, 9) java: 对Date的引用不明确
 
  java.sql 中的类 java.sql.Date 和 java.util 中的类 java.util.Date 都匹配
 
  这种情况下我们就需要完整的包名:
 
  import java.util.*;
 
  import java.sql.*;
 
  public class Test {
 
  public static void main(String[] args) {
 
  java.util.Date date = new java.util.Date();
 
  System.out.println(date.getTime());
 
  }
 
  }
 
  注意事项:
 
  import 和 C++ 的 #include 差别很大。C++ 必须通过 #include 来引入其他文件内容, 但是 Java 不需要,import 只是为了写代码的时候更方便。import 更类似于 C++ 的 namespace 和 using
 
  import java.util.*导入包下的所有类,Java是用到哪个类再去拿哪个类,而不是像include一样导入所有的文件
 
  3.静态导入
 
  使用import static可以导入包中的静态方法和字段。代码如下:
 
  import static java.lang.System.*;
 
  public class Test {
 
  public static void main(String[] args) {
 
  out.println(”hello”);
 
  }
 
  }
 
  使用这种方式可以更方便的写一些代码, 例如:
 
  import static java.lang.Math.*;
 
  public class Test {
 
  public static void main(String[] args) {
 
  double x = 30;
 
  double y = 40;
 
  // 静态导入的方式写起来更方便一些。
 
  // double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
 
  double result = sqrt(pow(x, 2) + pow(y, 2));
 
  System.out.println(result);
 
  }
 
  }

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64924.shtml

张贴在3