Java中的private、protected、public和default的区别(详解)

Java中的private、protected、public和default的区别(详解)

Java是一门有名的面向对象编程语言,在面向对象的编程中,访问控制(non-accessibility)是至关重要的一环。Java提供了四种访问修饰符,使用不同的访问级别控制程序员能否使用类、变量、方法等等。在这篇文章中,我们将详细探讨Java中的四种访问修饰符:private、protected、public、default。

private

private是Java中最严格的访问修饰符,只能在声明这个成员变量或成员方法的类中直接访问,即使是在同一个包中的其他类也不能访问。私有成员只能通过类内公共方法才能访问。

示例

下面的代码创建了一个Person类,其中age是私有变量,通过getAge()和setAge()方法,才能在类外访问age变量。

public class Person {
   private int age;

   public int getAge() {
      return age;
   }

   public void setAge(int age) {
      this.age = age;
   }
}

protected

protected访问修饰符允许子类访问其父类的字段和方法。这意味着如果一个类被定义为protected,它可以被同一包中的任何类访问,或任何其他包中的子类访问,即使这些子类并不在同一包中。

示例

下面的代码创建了一个Person类,其中有一个protected方法,名为doSomething()。然后创建了一个Employee类,继承了Person类,并覆盖了doSomething()方法。

public class Person {
   protected void doSomething(){
      System.out.println("Person's protected method");
   }
}

public class Employee extends Person {
   public void doSomething(){
      System.out.println("Employee's public method");
   }
}

public

public是Java中最常见的访问修饰符,它在任何位置都可以访问。如果一个类被定义为public,则它可以被任何其他类访问,不管这些类是否在同一包中。

示例

下面的代码创建了一个Person类,其中有一个公共方法,名为sayHello()。创建了一个实例化的Person对象,然后调用了其sayHello()方法。

public class Person {
   public void sayHello(){
      System.out.println("Hello, World!");
   } 
}

public class Example {
   public static void main(String[] args) {
      Person person = new Person();
      person.sayHello();
   }
}

default

如果不指定任何访问修饰符,则被定义为default。default修饰符只能在同一包中可见,即默认不可见的。如果一个类没有被定义为public,则它通常是一个默认访问修饰符。

示例

下面的代码创建了一个名为MyClass的类,并将其定义为默认访问修饰符。然后在MyClass所处的同一包中,创建了一个Example类实例,并访问了MyClass中的defaultValue变量。

class MyClass {
   String defaultValue = "Hello, World!";
}

public class Example {
   public static void main(String[] args) {
      MyClass myClass = new MyClass();
      System.out.println(myClass.defaultValue);
   }
}

结论

访问修饰符是Java中面向对象编程的一个重要方面。private,protected,public和default是我们在Java中定义和访问类、变量、方法等时所使用的关键字。我们必须小心地使用这些关键字,以便在不同的类和包之间定义和使用类的可见性。在每个不同的情况下,我们都应该了解每个访问修饰符的限制和优点,并据此选择恰当的修饰符。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中的private、protected、public和default的区别(详解) - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Win10系统如何清理C盘空间容量(不使用第三方工具)

    Win10系统如何清理C盘空间容量(不使用第三方工具) 清理C盘空间容量可以帮助提高系统性能和释放存储空间。以下是一些方法,可以帮助您在不使用第三方工具的情况下清理Win10系统的C盘空间。 1. 清理临时文件 Win10系统会生成大量的临时文件,占用了C盘的存储空间。您可以通过以下步骤清理这些临时文件: 打开“文件资源管理器”(Windows键 + E)。…

    other 2023年8月1日
    00
  • echarts3

    ECharts3的完整攻略 ECharts是一个基于JavaScript的开源可视化库,可以用于创建各种交互式图表和地图。ECharts3是ECharts的第三个版本,提供了更多的表类型和功能。以下是使用ECharts3的完整攻略: 步骤1:下载ECharts3 可以从ECharts官网(https://ech.apache.org/zh/index)下载E…

    other 2023年5月7日
    00
  • json数据进行sql查询

    json数据进行SQL查询 在现代的应用程序中,JSON(JavaScript Object Notation)已经成为最常用的数据交换格式之一。随着日益增长的JSON数据存储,在许多情况下,我们需要使用SQL查询来检索JSON对象中特定属性的值。在本文中,我们将提供一些关于如何在SQL中使用JSON数据的指导。 使用JSON函数 SQL 2016 引入了几…

    其他 2023年3月28日
    00
  • PopupWindow使用方法详解

    PopupWindow使用方法详解 介绍 PopupWindow是Android中的一个弹出窗口,可以在屏幕上方或下方显示,用于显示额外的内容或菜单选项。它可以用于各种场景,如下拉菜单、提示框等。 步骤 步骤一:创建PopupWindow对象 首先,我们需要创建一个PopupWindow对象。可以使用以下代码创建一个PopupWindow对象: PopupW…

    other 2023年9月6日
    00
  • unitygc优化要点

    UnityGC优化要点 UnityGC是Unity引擎的垃圾回收机制,它负责回收不再使用的内存,以避免内存泄漏和内存溢出。在开发Unity游戏时,优化UnityGC是非常重要的,因为它直接影响游戏的性能和稳定性。本文将介绍UnityGC的优化要点,并提供两个示例说明。 优化要点 以下是优化UnityGC的要点: 减少对象的创建和销毁 对象的创建和销毁是Uni…

    other 2023年5月8日
    00
  • 深度理解Python中Class类、Object类、Type元类

    深度理解Python中Class类、Object类、Type元类 在 Python 中,所有的对象都是基于类(Class)创建的。Class 是一种特殊的对象,它拥有创建其他对象的能力。在本文中,我们将深入学习Python中的 Class、Object类 和 Type元类。 Class类 在 Python 中,我们可以用 Class 来定义一个新的类型,通过…

    other 2023年6月27日
    00
  • win10预览版10041官方下载地址 win10预览版10041下载网址

    Win10预览版10041官方下载地址攻略 Win10预览版10041是Windows 10操作系统的一个早期测试版本,本攻略将详细介绍如何获取官方下载地址以及下载该版本的步骤。 步骤一:获取官方下载地址 打开你的网络浏览器,进入微软官方网站。 在微软官方网站的搜索栏中输入“Win10预览版10041官方下载地址”并点击搜索按钮。 在搜索结果中,找到微软官方…

    other 2023年8月4日
    00
  • 如何使用jmockit进行单元测试

    如何使用JMockit进行单元测试的完整攻略 JMockit是一种流行的Java单元测试框架,可以帮助用户编写高质量的单元测试代码。本文将为您提供如何使用JMockit进行单元测试的完整攻略,包括安装JMockit、编写测试代码、运行测试等内容。 安装JMockit 以下是安装JMockit的步骤: 下载JMockit。 从JMockit官网下载最新版本的J…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部