簡體   English   中英

從包的層次結構導入類

[英]Import a class from a hierarchy of packages

如果有一個包的層次結構(即pckg1.pckg2.pckg3 ),並且每個包具有相同的類(即Abc),那么我如何從pckg1導入類Abc?

語句import pckg1.pckg2.pckg3.Abc模棱兩可,因為這三個軟件包中都存在Abc

實際上沒有包層次結構之類的東西。

pckg1.pckg2一無所知,也不從pckg1繼承任何pckg1 實際上, pckg1.pckg2可以存在,甚至沒有pckg1 基本上,這只是一種命名約定,可以幫助您邏輯上排序。

pckg1.pckg2.pckg3.Abc因此不明確。 它來自您當前認為層次結構中最低的軟件包pckg3

就是說,沒有pckg3這樣的東西。 pckg1pckg1.pckg2pckg1.pckg2.pckg3但是它們很容易被稱為catbananamagic

import pckg1.pckg2.pckg3.Abc不明確。 它指的是特定類別。 在這種情況下,來自pckg1.pckg2.pckg3包的Abc

在Java中,沒有包層次結構。 看起來好像pckg1.pckg2pckg1.pckg2.pckg3是相關的,但實際上它們之間沒有關系(存儲.class文件的文件結構除外,但這不是語言的一部分)。

import pckg1.Abc;

將軟件包視為Windows文件夾。

如前所述,您將:

import pckg1.Abc;

但是在定義變量時,我也將使用完整的包路徑,以避免產生歧義。 例如:

pckg1.Abc abc = new pckg1.Abc();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM