通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

Java中private,默认,protected,public修饰符的区别

Java中private,默认,protected,public修饰符的区别:private只能在本类内部使用,默认只能在同一包中使用,protected除了同一包中还能被子类使用,public具有最大的访问权限,在整个应用程序中都可以使用。

一、Java中private,默认,protected,public修饰符的区别

  • private:private的访问权限仅限于类的内部,是一种封装的体现,例如,大多数的成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。
  • default :默认(缺省)表示本包内可以使用,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。
  • protected:当前类或子类可以访问,同时相同包内的其他类也可以访问protected成员;它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。
  • public:具有最大的访问权限,可以访问任何一个在CLASS PATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。

二、Java四种权限修饰符简介

1、public (公共权限)

  • 修饰对象: 修饰类、方法、属性
  • 继承: 被public所修饰的成员能被该类的所有子类继承下来。
  • 作用域: 可以被任意类访问

public能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。说到这里,穿插多一点知识。一个类作为外部类的时候只能被public或者默认访问修饰符所修饰,但是一个类如果作为内部类的时候,则可以被四种访问修饰符所修饰,因为一个类作为内部类的时候,就作为外部类的一个成员属性了,因此可以有四种访问修饰符修饰,这是内部类和外部类的一个区别。

public用来修饰类中成员(变量和方法),被public所修饰的成员可以在任何类中都能被访问到。通过操作该类的对象能随意访问public成员。public在类的继承上的体现,被public所修饰的成员能被所有的子类继承下来。

2、protected(受保护的权限)

  • 修饰对象:修饰内部类,接口,属性,方法。
  • 继承: 被protected所修饰的成员能被该类的所有子类继承下来。
  • 作用域: 可以被同包类访问,如果不是同包,必须是该类的子类才能访问

3、default (同包权限)

  • 修饰对象:修饰类,属性,方法。
  • 继承:被default所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中default修饰的成员)
  • 作用域: 只能被同包的类访问

4、 private (私有权限)

  • 修饰对象 : 内部类,属性,方法。
  • 作用域: 只能在本类中使用。

三、JAVA简介

1、什么是Java

Java是一种通用的,基于类的,面向对象的编程语言。它是用于应用程序开发的计算平台。因此,Java是快速,安全和可靠的。它被广泛用于在笔记本电脑,数据中心,游戏机,科学超级计算机,手机等中开发Java应用程序。Java遵循WORA(Write Once, Run Anywhere。一次写入,到处运行)的原理,并且与平台无关。它也简单易学。

2、Java发展历史

Java是世界上使用较广泛的编程语言之一。Java最初由Sun Microsystems在1990年代开发,用于开发从Web应用程序到移动应用程序到批处理应用程序的所有内容。Java最初是一种纯粹的面向对象的语言,但现在已经发展成为一种多范例语言,可以高度适应任何情况。拥有庞大的开发人员社区和支持库,Java是开发几乎所有类型的应用程序的理想选择。

Java是最初由开发James Gosling(詹姆斯·高斯林,他被称为Java编程语言之父)在Sun Microsystems公司(现已经被Oracle收购),并于1995年发布了作为Sun公司的一个核心组成部分Java平台。

James Gosling(詹姆斯·高斯林),Mike Sheridan(迈克·谢里丹)和Patrick Naughton(帕特里克·诺顿)于1991年6月启动了Java语言项目。Java最初是为交互式电视设计的,但在当时的数字有线电视行业来说太先进了。该语言最初是在James Gosling(詹姆斯·高斯林)办公室外的一棵橡树之后被称为Oak的。后来,该项目以Green命名,并最终从Java coffee(印度尼西亚的一种咖啡)重命名为Java。

3、Java的特点

  • 一种面向对象的编程语言:按照对象集合的方式组织程序是一种面向对象的编程思维。面向对象编程的四个主要概念是:抽象化,封装,继承,多态。
  • 一种与平台无关的语言:编译器将源代码转换为字节码,然后JVM执行编译器生成的字节码。该字节码可以在Windows,Linux和macOS的任何平台上运行,这意味着如果我们在Windows上编译程序,则可以在Linux上运行,反之亦然。每个操作系统具有不同的JVM,但是在字节码执行后,所有操作系统产生的输出都是相同的。这就是为什么我们称Java为平台无关的语言。
  • 简单:Java是简单的语言之一,因为它不具有指针,运算符重载,多重继承,显式内存分配等复杂功能。
  • 具有较高的安全性:(自动回收垃圾,强制类型检查,取消指针)在Java中,我们没有指针,因此我们无法访问越界数组,如果尝试这样做,它将显示ArrayIndexOutOfBoundsException。这就是为什么在Java中无法利用堆栈破坏或缓冲区溢出之类的一些安全漏洞的原因。
  • 分布式:我们可以使用Java编程语言创建分布式应用程序。远程方法调用和企业Java Bean用于在Java中创建分布式应用程序。Java程序可以轻松地分布在通过Internet连接相互连接的一个或多个系统上。
  • 多线程:Java支持多线程。它是Java的一项功能,它允许并发执行程序的两个或更多部分,以最大程度地利用CPU。
  • 可移植:众所周知,在一台机器上编写的Java代码可以在另一台机器上运行。Java的平台无关功能,其中可以将其平台无关字节码带到任何平台上执行,从而使Java可移植。

延伸阅读1:Java六种非访问修饰符

  • static 修饰符
  • abstract 修饰符
  • final 修饰符
  • synchronized 修饰符
  • transient 修饰符
  • volatile 修饰符
相关文章