java 中 package 是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中 package 是啥?相关的知识,希望对你有一定的参考价值。
理解了import 之后,对package又起了疑问。
这个是怎么使用的?
请用一个简单的例子说明下。
不要给我将理论知识。
因为我头都大 了
求简单的代码例子
package的作用就是 c++ 的 namespace的作用,防止名字相同的类产生冲突。Java 编译器在编译时,直接根据package指定的信息直接将生成的class 文件生成到对应目录下。例如package aaa.bbb.ccc 编译器就将该 .java 文件下的各个类生成到 /aaa/bbb/ccc/ 这个目录下。
Java中的一个package(包)就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起。这个名称空间就是包名。
扩展资料
编程环境
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
参考技术A当前文件所在的文件夹。具体解释如下:
1、当你新建一个Java项目的时候,你会填上Project name,比如项目名叫“baiduzhidao”。注意下面有一拦灰色的“Location”,就代表你这个项目将来会存放在你电脑的那个位置,可以根据需求自己修改地址。
2、然后你可以在左边看到“baiduzhidao”这个项目已经建好了,在这里就是package的意思,“baiduzhidao”就已经是电脑里的一个文件夹了,工具会自动生成这个文件夹。
3、接下来可以去电脑里面去找这个package是不是真的存在,根据图一灰色“Location”的位置去电脑里对应的位置找,看是否真的存在这个文件。
我们会发现这个文件的路径名和文件夹的名字正好相吻合,这就是说,package实际上就代表了一个文件夹。
扩展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
参考资料:百度百科-Java
当前文件所在的文件夹。可以这么说
只能说你描述的不好,都不知道你问的是什么
src是存放源码的地方,在src下面有很多package,也就是包。这些包你大考工作目录,其实就是文件夹
package game;这句意思就是当前这个目录是game这个包
import java.util.*;这里是引入jar包里的文件
public class Game 这个就是类了
不用纠结这些东西啊,它只是个目录而已
我的工作区设在E盘,如果打开E盘去找这个文件,目录是
E:\\workspace\\test\\src\\game
就是个文件夹的名字
本回答被提问者和网友采纳 参考技术C属于包的概念:
包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。
Java中提供的包主要有以下3种用途:
1) 将功能相近的类放在同一个包中,可以方便查找与使用。
2) 由于在不同包中可以存在同名类,所以使用包在一定程度上可以避免命名冲突。
3) 在Java中,某次访问权限是以包为单位的。
创建包可以通过在类或接口的源文件中使用 package语句实现,package语句的语法格式如下:
package 包名;
包名:必选,用于指定包的名称,包的名称为合法的 Java标识符。当包中还有包时,可以使用“包1.包2.…….包n”进行指定,其中,包1为最外层的包,而包n则为最内层的包。
比如
package fruit;//就表示你在声明该编译单元是名为fruit的类库的一部分
使用 Swift Package Dependency 安装时 SwiftLint 的路径应该是啥
【中文标题】使用 Swift Package Dependency 安装时 SwiftLint 的路径应该是啥【英文标题】:What should be the path of SwiftLint when installed with Swift Package Dependency使用 Swift Package Dependency 安装时 SwiftLint 的路径应该是什么 【发布时间】:2021-11-25 16:40:08 【问题描述】:我已经安装了带有 Swift Package Dependancy 的 SwiftLint。如手册中所述,我在 Build Phases 中添加了以下 Run 脚本:
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
运行我的项目时,我收到警告消息:
警告:未安装 SwiftLint,请从以下位置下载 https://github.com/realm/SwiftLint
所以我猜你的系统找不到 swiftlint 可执行文件。如果安装了 Swift Package Dependency,它在哪里?
【问题讨论】:
artsy.github.io/blog/2019/01/05/its-time-to-use-spm 或 blog.apptekstudios.com/2019/12/spm-xcode-build-tools ? @Larme,不幸的是,我在这些博客中没有找到答案。也许您会考虑创建一个空项目并尝试使用 SPM 安装 SwiftLint。也许它会对你有用,世界其他地方也会受益。 :) 我没有测试,但链接示例似乎很先进。特别是 blog.apptekstudios.com/2019/12/spm-xcode-build-tools 换句话说:不要依赖 XCode SPM 集成,而是使用Package.swift
以旧方式进行集成,在此添加您需要的依赖项。然后在构建阶段,您可以“检索该“Package.swift”,并使用swift run etc.
“运行它”(这将下载链接的包,构建并运行)。这将允许您访问 Swiftlint、SwiftFormat 等,并在构建阶段使用它。它就像一个工具的“辅助项目”。
@Larme SwiftFormat 适用于 SPM,不幸的是 SwiftLint 不适用。
然而,那里给出了解决方案。这也是SwiftFormat
在他们的自述文件中给出的解决方案:github.com/nicklockwood/SwiftFormat#xcode-build-phase
【参考方案1】:
你不能,你可以同时。
Xcode 中“集成”的 Swift 包管理器 (SPM) 可用于将代码“嵌入”到您的应用中。 不嵌入可执行文件(如 Swiftlint)。
因此,解决方案是在您的应用旁边创建一个带有 SPM 的“并行”项目。
在以下两个链接中有描述:
It's time to use Swift Package ManagerUsing SPM for Xcode build phase tools
所以这个想法是有一个Package.swift
和Swiftlint
,构建/运行它,然后它应该启动Swiftlint
。
第一次,它将获取代码,构建然后运行。所以可能需要一些时间。
这也是SwiftFormat
在他们的ReadMe上给出的解决方案。
在这里应用,这里是文件层次结构。我添加了一个文件夹和一个文件。
MyProject:
.
├── BuildTools
│ └── Package.swift
├── MyProject
│ ├── .swiftlint.yml
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── MyProject.xcodeproj
在Build Phases
脚本中:
cd BuildTools
SDKROOT=(xcrun --sdk macosx --show-sdk-path)
#swift package update #Uncomment this line temporarily to update the version used to the latest matching your BuildTools/Package.swift file
swift run -c release swiftlint "$SRCROOT" --config ../MyProject/.swiftlint.yml --path ../MyProject
而Package.swift
是:
// swift-tools-version:5.5
import PackageDescription
let package = Package(
name: "BuildTools",
platforms: [.macOS(.v10_11)],
dependencies: [
.package(url: "https://github.com/Realm/SwiftLint", from: "0.44.0")
],
targets: [.target(name: "BuildTools", path: "")]
)
由于我们正在创建另一个项目并且没有利用集成的 Xcode 集成解决方案,因此使用 Mint
、HomeBrew
等解决方案可能会更好。例如,Mint 是一个“完整的 SPM 工具”。如果您有更多工具,将它们集中到一个中可能确实是一个很好的解决方案。
【讨论】:
我给了你积分,因为你很好,花时间写了一个详细的答案,但不幸的是它对我不起作用。我创建了一个新项目,添加了一个 SwiftLint 包,添加了 BuildTools 文件夹和带有上述内容的 Package.swift,并添加了 Build Phases 脚本。运行时,我收到以下错误:没有名为“swiftlint”的可执行产品。您是否遇到过同样的问题,还是顺利进行? 我也必须不时清理派生数据。当我试图理解我链接的教程时,我首先遇到了这个问题。因为我有 Swiftlint 和 Homebrew(我认为),所以我不认为它很难通过它,但我不是 100% 确定(我不想删除它,测试并重新安装它),但是我认为我的解决方案有效。您不会在新项目中添加 Swiftlint 包。以上是关于java 中 package 是啥?的主要内容,如果未能解决你的问题,请参考以下文章
eclipse project explorer 里 一个Package上有红叉,但Package里的文件都没有红叉,这个红叉是啥原因