文章目录 1. package 包 2. import 3. JDK常见的包 4....访问权限 5. jar 压缩 1. package 包 作用:防止不同的人写的类的名称相同冲突了, package testPackage1.java; class testPg { public....*; import name1.java.Myhome; //import name2.java.Myhome; // 同名不能让你一起导入 class testImport { public...JDK常见的包 java.lang:包含一些Java核心类,String、Math、Integer、System、Thread,在 Java1.2 以后,java.lang 会被自动导入,不需要 import...访问权限 什么都不写就是default 5. jar 压缩 方便管理大量的类文件 压缩减少文件占用空间 cmd :jar -cvf name_of_jar.jar targetPackage
参考链接: 在Java中将预定义的类名用作类或变量名 Java 中的包, 公共类与Java源码文件的关系介绍 Java中的一个包就是一个类库单元,包内包含有一组类,它们在单一的名称空间之下被组织在了一起...如果在该编译单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,因为它们不是public类,而且它们主要用来为主public类提供支持。 ...这是Java解决混乱问题的一种方式(这里暂且先不讨论JAR包工具)。 ...可采取两种方式访问另一个包中的公有类 1)java.util.Date today = new java.util.Date (繁琐) 2)使用import语句导入一个特定的类或者整个包 使用import... 3.不要在类中使用过多的基本类型 比如一个类的实例域要设置地址,包括省市县和具体家庭住址,不要使用基本类型确定4个实例域,而要用名为地址的类替代 4.不是所有的域都需要独立的域访问器和域更改器
包的作用 在C++中有命名空间的概念,这是因为,不同的项目或者人写出来的代码,可能名称是一样的。...在Java中是使用包来管理的,比如你可以这样使用: import java.util.ArrayList; java.util.List list = new ArrayList(); 既可以像第一行那样...,使用import引用包;也可以直接在Java代码中指定包的路径。...另外,Java中如果你的Java类中使用pacakge 声明了所在的包。那么编译后,需要通过路径才能访问。...访问权限 在Java中,有下面几种访问权限: public:谁都可以访问 protected: 只有子类才能访问 private:只有自己才能访问 包访问权限(默认):同处一个包下的类都能相互访问 一般来说
java 工程目录: 1.src 源文件目录,存放java源代码的目录 2.bin 目录:存放由java原码编译好的class文件 3.package 不能以java.开头 4.package...: 添加包的规则:公司域名的倒写 + 项目的名字 + 功能名字 注意:不能使用以java.* 开头定义包名 5.Eclipse 快捷键: 1.CTRL + D 删除整行代码 2.CTRL...Java中每个类只允许有一个父类。...7.访问级别: 在Java中共有4种访问级别,按访问权限由高到低为:public(公有的)、protected(受保护的)、友好的(没有任何访问权限关键字修饰)和private(私有的) 8.关键字...2.this只能在当前类的内部使用,但是,不能在static修饰的方法(即类方法)中使用。
当类的成员(字段、方法)不添加任何访问修饰符时,默认拥有包访问权限(也叫默认权限或 friendly 权限)。...拥有包访问权限的成员,只能被同一个包内的其他类访问,包外的类无法访问(相当于对包外是 “私有的”)。...构造器的public修饰符在包外无效 例如:类A是包访问权限,即使它有public A()构造器,包外代码也无法通过该构造器创建对象,因为类本身不能被包外访问。...联系:这个和前面说的默认包不同,默认包是看有没有package不是看public。没有package即使有public也不能跨包访问。...因为public 类的访问权限是 “所有包可见”,但默认包的特殊性导致其他包无法引用,因此实际效果与包访问权限类相同(只能在默认包内访问)。
如果不更改API,则无法更改其表示形式,无法强制执行不变量,并且在访问属性时无法执行辅助操作。...,坚持面向对象是正确的:如果一个类在其包之外是可访问的,则提供访问方法来保留更改类内部表示的灵活性。...如果类的内部表示是可取的,可以在不触碰包外的任何代码的情况下进行更改。 在私有内部类的情况下,更改作用范围进一步限制在封闭类中。 Java平台类库中的几个类违反了公共类不应直接暴露属性的建议。...着名的例子包括java.awt包中的Point和Dimension类。 这些类别应该被视为警示性的示例,而不是模仿的例子。...虽然公共类直接暴露属性并不是一个好主意,但是如果属性是不可变的,那么危害就不那么大了。
以下为你介绍public、private、protected以及默认(不写修饰符)这四种访问修饰符的区别与应用实例: Java中public、private、protected及默认访问修饰符的区别 一...二、private访问修饰符 private修饰符是访问权限最严格的修饰符。使用private修饰的成员只能在类内部访问,类的外部(包括其子类)无法访问。...应用场景: 信息隐藏:当类中的某些数据或实现细节不希望被外部访问或修改时,使用private是最佳选择,确保了数据封装。...字段、方法、构造器:默认修饰符允许同包中的类访问这些成员,但包外的类和子类都无法访问。...."); } } 在上述代码中,Car类的model字段和drive()方法没有显式指定访问修饰符,它们具有默认的包级访问权限,只能在同一个包内的类中被访问,其他包中的类无法访问。
3、访问修饰符有哪些 Java中有四种访问修饰符,它们分别是: public(公共的):被声明为 public 的类、方法和变量可以被任何其他类访问。...如果使用 默认 的访问修饰符,则只能在同一包内的其他类中访问这个类。 方法:Java 中的方法可以使用 public、protected、private和 默认 的访问修饰符。...如果使用 private 访问修饰符,这个方法只能在同一类中访问。如果使用 默认 的访问修饰符,则只能在同一包中的其他类中访问这个方法。...如果使用 默认 的访问修饰符,则只能在同一包中的其他类中访问这个变量。...扩展:Java 中为何同类下的 main 方法可以直接通过当前类对象访问 private 属性? 这是因为 Java 中的访问控制是基于类而不是基于对象的。
本节课程将学习以下内容: Java当中的访问权限 软件包的导入 ---- Java当中的访问权限 一共分为4大类: public:公共权限,既可以修饰类,也可以修饰成员变量和成员函数; private...:私有权限 default:包级别访问权限 protected:受保护权限 public权限 如果一个类不是public(公共)的,那么这个类不能被外部软件包访问; 如果一个类的成员变量或者方法不是...public(公共)的,那么它们也不能被外部软件包访问; 没有任何限制,同一个包中,或者不同软件包当中,都可以只有访问。...private权限 一般情况下只能修饰成员变量和成员函数; 如果成员变量或者函数被private修饰,那么它们只能在本类中被访问。...软件包的导入 导入其他软件包的类,方便代码的书写。
Java 9 提供了超过150项新功能特性,包括备受期待的模块化系统、可交互 的 REPL 工具:jshell,JDK 编译工具,Java 公共 API 和私有代码,以及安全增强、扩展提升、性能管理改善等...每一个公共类都可以被类路径之下任何其它的公共类所访问到,这样就会导致无意中使用了并不想被公开访问的 API。... 本质上讲也就是说,用模块来管理各个package,通过声明某个package暴露,模块(module)的概念,其实就是package外再裹一层,不声明默认就是隐藏。...该文件是位于java代码结构的顶层,该模块描述符明确地定义了我们的模块需要什么依赖关系, 以及哪些模块被外部使用。在exports子句中未提及的所有包默认情况下将封装在 模块中,不能在外部使用。...export exports com.atguigui.bean; } exports:控制着哪些包可以被其它模块访问到。
public类(公共类) 在此之前,先说一下访问权限 针对类、成员方法、成员属性,Java提供了四种访问控制权限修饰符关键字,在定义的时候加在最前面,附加上访问权限 分别是private defalut...(对项目内全局可访问,不只同包中) 不包中的类只有通过调用某类的public类才能间接调用该public类(所在源文件的)所在包下的其他非public类(如果这个public类中调用了其包中的非公共类的话...,否则还是无法调用) 在程序编译的时候,只有通过源文件的public类才能访问到该源文件的内部,进而间接调用该源文件所在包中的非public类,所以public类是源文件的公共接口(只对外开放的口,不是...普通的成员方法只能在类被实例化成对象,由对象用对象名调用,是对象方法;static修饰的成员方法是静态方法,在加载类的时候就被存储在静态域空间内了,通过类名就可以直接调用,不需要类实例化成对象。...,这里特指的是公共类 源文件中并不一定要包含public类,当源文件的类需要直接被包外访问时,才需要被加上public权限,否则可以不加public,只被本包中的类访问 包(package) (软件包)
但是,减少不必要的公共类的可访问性要比包级私有的顶级类更重要:公共类是包的API的一部分,而包级私有的顶级类已经是这个包实现的一部分了。...对于成员(属性、方法、嵌套类和嵌套接口),有四种可能的访问级别,在这里,按照可访问性从小到大列出: private——该成员只能在声明它的顶级类内访问。...换句话说,将类,接口或成员作为包级导出的API的一部分来促进测试是不可接受的。 幸运的是,这不是必须的,因为测试可以作为被测试包的一部分运行,从而获得对包私有元素的访问。...另外,当属性被修改时,就放弃了采取任何操作的能力,因此公共可变属性的类通常不是线程安全的。...如果将模块的JAR文件放在应用程序的类路径而不是其模块路径中,那么模块中的包将恢复为非模块化行为:包的公共类的所有公共类和受保护成员都具有其普通的可访问性,不管包是否由模块导出[Reinhold,1.2
在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的公共接口,用public类来表现。...如果不匹配,同样将得到编译错误。 3.虽然不是很常用,但编译单元内完全不带public类也是可能的。在这种情况下,可以随意对文件命名。...//Java中的文件名要和public修饰的类名相同,否则会报错 //如果没有public修饰的类,则文件可以随意命名 public class Java中的类文件 { } //非公共开类的访问权限默认是包访问权限...,不能用private和protected //一个外部类的访问权限只有两种,一种是包内可见,一种是包外可见。...为方便起见,我们一般不导入单独的类,而是导入包下所有的类,例如 import java.util.*;。
而且在编译单元内部,可以有一个公共(public)类,它必须拥有与文件相同的名字(包括大小写形式,但排除.java文件扩展名)。...同时每个编译单元内都只能有一个public类,其它的类可在包外部进行隐藏,因为它们是非“公共”的。...Java访问指示符 如果根本不指定访问指示符,则为默认访问,它通常称为“友好”访问。这意味着当前包内的其他所有类都能访问“友好”的成员。但对包外的所有类来说,这些成员却是“私有”的,外界不得访问。...由于一个编译单元只能从属于单个包,所以单个编译单元内的所有类相互间都是自动“友好”的。因此,我们也说友好元素拥有“包访问”权限。...需要注意的是,当基础类中不包含无参构建器时,需要在衍生类的构建器的第一行进行基类构建器的指定。
访问修饰符2.1 publicpublic是一种访问修饰符,它表示公共访问级别,即可以从任何位置访问类、方法或属性。使用public修饰的成员可以在当前类、同一包中的其他类以及其他包中的类中访问。...2.3 protectedprotected是一种访问修饰符,它表示受保护的访问级别,即只能在当前类、同一包中的其他类以及其他包中的该类的子类中访问。...2.4 defaultdefault是一种访问修饰符,它表示默认访问级别,即没有明确指定访问修饰符的成员的访问级别。default访问级别只能在当前类和同一包中的其他类中访问。3....class MyClass { // 类定义}5.2 staticstatic是Java中的关键字,用于创建静态成员。静态成员是属于类的成员,而不是对象的成员。...静态成员可以在不创建对象的情况下进行访问。5.3 finalfinal是Java中的关键字,用于表示最终的、不可变的变量、方法或类。
Java 修饰符 Java 修饰符 用于控制类、属性、方法和构造函数的访问权限和行为。它们可以分为两组: 访问修饰符: public: 意味着代码对所有类可访问。...private: 意味着代码只能在声明的类内部访问。 default: 意味着代码只能在同一包中访问。 protected: 意味着代码在同一包和子类中可访问。...// default方法只能在同一个包中访问 void myMethod() { System.out.println("This is a default method.");...为了实现这一点,你需要: 将类变量/属性声明为私有 提供公共的 get 和 set 方法以访问和更新私有变量的值 Get 和 Set 方法 私有变量只能在同一类中访问(外部类无法访问)。...但是,如果我们提供了公共的 get 和 set 方法,就可以访问它们。 get 方法 返回变量值,而 set 方法 设置值。
Java提供了包(Package)机制,可以解决这个问题。 摘要 本文将介绍Java中的包机制,包括包的定义、使用、命名规范、包的访问控制等方面。...包的访问控制 Java中的包可以使用访问控制符修饰,有4种访问控制符:private、default、protected和public。...其中,private表示私有访问,该成员只能在当前类中被访问;default表示默认访问,该成员只能在当前包中被访问;protected表示受保护访问,该成员可以在当前包和子类中被访问;public表示公共访问...代码 以下是一个简单的包示例,其中定义了com.example包和com.example.sub子包,com.example.sub子包中包含了一个MyClass类,该类的方法可以被包外的代码调用。...小结 本文介绍了Java中的包机制,包括包的定义、使用、命名规范、包的访问控制等方面。通过本文的学习,读者可以更好地管理和组织Java项目中的代码文件。
Java中成员访问权限 Java中的访问权限控制符有四个: 作用域_____当前类____同一package___子孙类____其他package public______√___________√_...另外:访问控制是基于类定义的,不是基于类对象的,对象本身什么访问权限都没有。...java类的访问权限 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。...private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。...(包中类被包外类继承重用) public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。。