Java 修饰符
一、final
final数据
必须在域的定义处或每个构造器中用表达式对final进行赋值,java允许函数参数声明为final,这意味着在方法中无法更改此参数。final的基本类型表示值不可变,引用类型表示无法将其指向另一个对象,但对象本身内容可以修改。
final方法
final方法明确禁止覆盖,使得继承的类中行为保持不变。类中所有的private方法都隐式地指定是final的,如果父类中有一个private或private final的方法f(),子类中可以有与该方法同名的函数,因为对于子类来说,父类中的f()行为不可见,因此编译器不会报错。覆盖只针对基类的public 和 protected的字段或方法。
final类
final类禁止继承
二、static
三、abstract
四、Java访问控制权限
Java提供了访问权限修饰词,可以用来确定库中的哪些类对该库的使用者是可用的。在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词。访问权限控制的作用如下:
a. 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分。
b. 为了让类库设计者可用更改类的内部工作方式,而不必担心会对用户造成重大影响。
(1)public
接口访问权限,一般不会用public暴露一个域,除非这个域已经被声明为final。(跨包访问)
(2)protected
protected修饰符提供一个从包外部访问包的方法,即包中类被包外类继承重用
(3)包访问权限
默认访问权限,没有任何关键字。包访问权限允许将包内所有相关的类组合起来,以使它们彼此之间可以轻松地相互作用,包访问权限为包的存在提供了意义
(4)private
private实现了数据隐藏。任何可以肯定只是该类的一个“助手”方法的方法,都可以将它指定为private,以确保不会再包内的其他地方误用到它,于是也就防止你去改变或删除这个方法。
package
Java中的包如同文件夹一样,包也采用了树形目录的存储方式。Java包主要是为了防止类文件命名冲突以及方便进行代码组织和管理,把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
类的访问权限
Java中类的修饰词仅有public和包访问权两种,没有private和protected。有一个特例是“内部类”,其可以是private或protected的。如果你不希望其他任何人对该类拥有访问权,你可以把所有的构造器都指定为private,但是可以在该类的 static成员内部(如静态方法生成类实例)进行创建。
如果一个类的访问权限为“包访问权”,并且其内部有一个static的成员为public的话,则其他包中的类仍旧可以访问该static成员,哪怕它们并不能生成该类的对象。
对于一个java文件,最多只能有一个public类,若没有Public类则表明其仅供包内使用,对外界不可见。每个java文件还可以有任意数量的非public类,所在包外无法访问这些类,因为其主要用来为public类提供支持。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix