㈠ java中包的問題
利用.還表示出包的嵌套層次,包1.包2.test類 ,就是說包1下面有一個包2,包2下面有一個test類,
Java語言里的包的概念:為了更好的組織類,Java提供了包機制。包是類的容器,用於分隔類名空間。
像上面這種文縐縐的定義根本不用去記它,重要的是了解為什麼要使用包,這樣不就都明白了么?
Java提供包,最重要的原因就是為了解決類名沖突(類重名)的問題。
因為在同一個目錄下不能放兩個同名的類啊,有了包,就可以將這些類放在不同的包中,另外一個也是為了便於管理大型軟體系統中數目眾多的類,比如在J2EE項目中,按類的功能給他們歸類,同一類的放在一個包中,這樣非常的規范啊,便於看清層次結構,啊總之很爽。
用法:
Java中給包起名,規范是將公司的域名倒過來,比如,假如我公司域名是 hehe.com ,那麼
包名則是 com.hehe 然後後面還可以跟上項目名稱,等等其他的自己隨便,這個得看具體公司的要前銀求,比如最後的包名 com.hehe.okok , 從這里也看到了,他們中間是使用 . 來分隔開的,注意,用. 分隔開的每一個子串,最後在項目中 都是一個文件夾,使用這個. 來分隔,體現出了文件夾的迅拿嵌套層次,現在我這個包com.hehe.okok,在實際當中 是 com文件夾下有一個hehe文件夾,hehe下面有一個okok文件夾,
在Java中包名的規范是使用小寫字母,現在你看到了,我們所說的Java的包,實際上就是一組互相嵌套的文件夾而已。
在Java中使package語句將一個類放到包中,package語句必須是Java源文件的第一條語句(當然,注釋可以位於其上方),比如在Test.java文件中:
package com.hehe.okok;
public class Test {}
這樣我們就將Test類放到了com.hehe.okok包中,注慧昌宴意:源代碼這樣寫了還不行,請務必確保最後編譯出來的位元組碼文件,也就是.class文件 本身位於項目中的com.hehe.okok文件夾下,否則你這個類就不行使用了,因為類本身自己聲明了我是com.hehe.okok包下的類,然後真是的class文件還不在正確的文件夾下,那麼就沒法使用了,找不到.
在Java中,一個 .java 源文件,叫做一個編譯單元,那麼在這個編譯單元中的所有類,只要你寫了package語句,那麼所有的類都位於你指定的包下,也就是說你把他們都放到了這個包中,最後編譯出來的文件也都要位於與其對應的文件夾下。一個.java文件中只能寫一個package語句。
package com.hehe.okok;
public class Test {}
class Hello {}
class World {}
現在這3個類,都位於com.hehe.okok包中。
包這部分是比較亂的,另一個類引入了此包如果手動編譯什麼什麼的還涉及到設置環境變數classpath,等等,東西挺雜亂的看書吧。
㈡ 在一般的java項目中,怎樣命名其包目錄呢
java項目中包的命名方法
公司(或組織)名,如,cn.bupt
項目名:如library
項目中:
第一層按照模塊分:用戶模塊,圖書模塊,進貨模塊。。
第二層按照 數據層,邏輯層,表現層 分
第三層按照層內劃分去分
寫程序的時候順序實現
model (就是說明成員屬性和getter setter 方法的)
數據層 和資料庫交互
邏輯層
表現層
㈢ java怎麼獲取src目錄下所有的包名,類名,方法名 以及通過一個類名獲得該類下的所有方法名
給你代碼。
這個類直接放到eclipse中可以運行,
如果不是,
File root = new File(System.getProperty("user.dir") + "\\src");
改成你指寫的src目錄,其編譯好的類也要在中,才能運行。
---------------------------------------------------------------------------------------------------
import java.io.File;
import java.lang.reflect.Method;
public class LoopApp {
public static void main(String[] args) throws Exception {
String packageName = "";
File root = new File(System.getProperty("user.dir") + "\\src");
loop(root, packageName);
}
public static void loop(File folder, String packageName) throws Exception {
File[] files = folder.listFiles();
for (int fileIndex = 0; fileIndex < files.length; fileIndex++) {
File file = files[fileIndex];
if (file.isDirectory()) {
loop(file, packageName + file.getName() + ".");
} else {
listMethodNames(file.getName(), packageName);
}
}
}
public static void listMethodNames(String filename, String packageName) {
try {
String name = filename.substring(0, filename.length() - 5);
Object obj = Class.forName(packageName + name);
Method[] methods = obj.getClass().getDeclaredMethods();
System.out.println(filename);
for (int i = 0; i < methods.length; i++) {
System.out.println("\t" + methods[i].getName());
}
} catch (Exception e) {
System.out.println("exception = " + e.getLocalizedMessage());
}
}
}
㈣ java三層架構的包名是什麼,分別代表什麼
.web--XXX--XXX--XXX
.XXX一般網路工程包名的命名規則
不知道看不看得懂,反正就是、service、web(MVC模式,模型層—視圖層—控制層,你所謂的三層架構應該就是這個吧)外伏芹加其他的包(比如common)
其中、service下放搭廳大介面,子包impl下放具體的實現類(也有喜知豎歡將實現類和介面放一起的,沒有硬性規定的)
㈤ java 正則匹配出java文件中所有的包名
importjava.util.*;
publicclassYugi{
publicstaticvoidmain(String[]args){
Stringreg="(import|new)\s+([^\.\s]+(\.[^\.\s]+)*)";
Patternpattern=Pattern.compile(reg);
Matchermatcher=pattern.matcher("略");
while(matcher.find()){
System.out.println(matcher.group(2));
}
}
}
㈥ java裡面2個項目,包名.類名多相同,會沖突嗎
只要兩個項目之間重疊的部分不需要互相調用就沒問題.
只要項目名稱不一樣的WEB運行也沒問題
㈦ Java不同包中的類如何互相引用所謂的全名是什麼,是所在的文件夾還是其他什麼謝謝
包名+類名:
比如java.util.Date。
java.util就是包名。Date就是類名。
如果你在類文件最前面加上
import java.util.Date.
就可以在類文件中直接用Date了。
文件夾其實就是包,比如java.util.Date。
那Date的源文件應該就在src/java/util中。
上面舉例的這個類是系統本身提供的,無需源文件。
㈧ java三層架構包名
顯示層 ui、display 或者 view
業務處理 controller 或者 logic
數據層 db、model、
㈨ java 中 package 是什麼
package的作用就是 c++ 的 namespace的作用,防止名字相同的類產生沖突。Java 編譯器在編譯時,直接根據package指定的信息直接將生成的class 文件生成到對應目錄下。例如package aaa.bbb.ccc編譯器就將該 .java 文件下的各個類生成到 /aaa/bbb/ccc/這個目錄下。
Java中的一個package(包)就是一個類庫單元,包內包含有一組類,它們在單一的名稱空間之下被組織在了一起。這個名稱空間就是包名。
(9)java不同項目中的包名擴展閱讀
編程環境
JDK(Java Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程序和應用程序的程序開發環境。JDK是整個Java的核心,包括了Java運行環境(Java Runtime Envirnment),一些Java工具和Java的核心類庫(Java API)。不論什麼Java應用伺服器實質都是內置了某個版本的JDK。主流的JDK是Sun公司發布的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如,IBM公司開發的JDK,BEA公司的Jrocket,還有GNU組織開發的JDK 。
㈩ java語法中,變數名、對象名、方法名、包名各指什麼
package com.psst.databases; /殲族/com.psst.databases這個叫包名
public class ConnDatabases { //ConnDatabases 這個叫類名,應該是你理解的對象名
public static Connection getConn() { //getConn這個叫方法名
Connection conn = null; //conn 叫變數名帆擾
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@133.122.110.97:1521:orcl"氏轎弊, "root", "r00tHangar");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}