Pakej ialah cara mengatur kelas.
Tujuan utama menggunakan pakej adalah untuk memastikan keunikan kelas.
Sebagai contoh, Anda menulis kelas Ujian dalam kod Kemudian rakan sekerja anda juga boleh menulis kelas Ujian Jika terdapat dua kelas dengan nama yang sama, mereka akan bercanggah, menyebabkan kod gagal dikompilasi > 1. Import pakej Kelas
①: Contohnya, mencetak tatasusunan:
public class TestDemo{ public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println(Arrays.toString(array)); } }
Untuk menggunakan Tatasusunan, anda perlu mengimport pakej, lihat gambar:
Jika baris atas kod tidak ditulis, ralat akan dilaporkan Lihat gambar:
Kemudian bagaimana untuk mengimport di atas Bagi pakej, apabila kita menulis kod Arrays, IDEA akan secara automatik muncul pilihan untuk anda pilih Jika anda memilih item pertama dan tekan Enter , ia akan membantu anda mengimport pakej. Lihat gambar:
②: Contoh lain:
Tarikh ialah kelas yang mentakrifkan tarikh dan juga ditulis oleh perpustakaan kelas Java
public class TestDemo { public static void main(String[] args) { java.util.Date date = new java.util.Date();//在我们不导包时候手写 // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
Anda boleh menggunakan java.util.Date untuk memperkenalkan kelas Date dalam pakej java.util
Tetapi cara penulisan ini lebih menyusahkan, anda boleh menggunakan cara penulisan di atas , dan anda boleh menggunakan pernyataan import untuk mengimport pakej
import java.util.Date; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
Nota:
boleh mengimport kelas tertentu, tetapi tidak boleh mengimport pakej tertentu
: Import pakej util, ralat dilaporkan
: Import kelas khusus
③: Contoh lain:
Jika anda perlukan untuk menggunakan kelas lain dalam java.util, anda boleh menggunakan import java.util.*
import java.util.*; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
: Tiada ralat dilaporkan Ini * boleh difahami sebagai aksara kad bebas. yang bermaksud mengimport semua kelas di bawah pakej ini
Soalan: util Terdapat banyak kelas, adakah mereka semua harus diimport sekaligus? Tidak, apabila ia datang kepada pemprosesan Java, ia akan berurusan dengan sesiapa sahaja yang diperlukan.
④: Tetapi kami mengesyorkan dengan jelas menyatakan nama kelas yang akan diimport Jika tidak, konflik masih cenderung berlaku
Contoh:
import java.util.*; import java.sql.*; public class TestDemo { 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 都匹配
Dalam kes ini, anda perlu. gunakan nama kelas lengkap
Nota:
import sangat berbeza daripada C++ #include mesti #include untuk memperkenalkan kandungan fail lain, tetapi Java tidak hanya untuk menulis lebih mudah apabila pengekodan. Import lebih serupa dengan ruang nama C++ dan menggunakan
Mata pengetahuan
Perbezaan antara import dan pakej
pakej: "pakej", merujuk kepada: kelas Pakej di mana ia terletak
import: "import", merujuk kepada: mengimport kelas yang diperlukan dalam kelas
Jika kita ingin menggunakan beberapa kod dalam perpustakaan kelas Java, kita perlu untuk mengimportnya melalui import
2. Import statik
①Contoh:
import static java.lang.System.*; public class Test { public static void main(String[] args) { out.println("hello"); } }
Ini. way System.out.println( "hello"); boleh ditulis sebagai out.println("hello");
②Contoh lain:
import static java.lang.Math.*; public class TestDemo { 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); } }
Kemudian Math boleh dialih keluar dari kod .
3. Letakkan kelas ke dalam pakej
Tambahkan penyata pakej di bahagian atas fail untuk menentukan pakej mana kod itu berada.
Nama pakej perlu dinyatakan seunik mungkin, biasanya menggunakan bentuk terbalik nama domain syarikat (contohnya, com.xuexiao.demo1
Nama pakej harus sepadan dengan kod laluan. Contohnya, buat pakej xuexiao.demo1, maka akan ada laluan yang sepadan com/xuexiao/demo1 untuk menyimpan kod.
Jika kelas tidak mempunyai penyata pakej, kelas akan menjadi diletakkan dalam pakej lalai.
Langkah operasi:
1) Mula-mula buat pakej baharu dalam IDEA: Klik kanan src -> Pakej
2) Dalam pop timbul Masukkan nama pakej dalam kotak dialog, contohnya com.xuexiao.demo1, dan klik Enter
3) Buat kelas dalam pakej, klik kanan nama pakej-> baru-> ; dapat melihat bahawa struktur direktori pada cakera kami telah dicipta secara automatik oleh IDEA
5) Pada masa yang sama, kami juga melihat bahawa di bahagian atas Ujian yang baru dibuat. fail java, penyata pakej
muncul
我们已经了解了类中的 public 和 private. private 中的成员只能被类的内部使用.
如果某个成员不包含 public 和 private 关键字, 此时这个成员可以在包内部的其他类使用, 但是不能在包外部的类使 用.
举例:
下面的代码给了一个示例. Demo1 和 Demo2 是同一个包中, Test 是其他包中.
Demo1.java
package com.bili.demo; public class Demo1 { int value = 0; }
Demo2.java
package com.bili.demo; public class Demo2 { public static void Main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } }
// 执行结果, 能够访问到 value 变量
10
Test.java
import com.bili.demo.Demo1; public class Test { public static void main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } } // 编译出错 Error:(6, 32) java: value在com.bili.demo.Demo1中不是公共的; 无法从外部程序包中对其进行访问
1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
2. java.lang.reflect:java 反射编程包;
3. java.net:进行网络编程开发包。
4. java.sql:进行数据库开发的支持包。
5. java.util:是java提供的工具程序包。(集合类等) 非常重要
6. java.io:I/O编程开发包。
Atas ialah kandungan terperinci Cara menggunakan pakej Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!