Java 的访问修饰符public,protected,private(封装、继承)

关于Java的访问修饰符public、protected、private,涉及封装、继承的相关知识点,下面为您详细演示:

1. Java中的访问修饰符

Java提供了4种访问修饰符,分别是:

  • public:公共的,可以被所有类访问,无访问限制。
  • protected:受保护的,只能被本类、同包内以及其它包中的子类访问。
  • default:(没有修饰符)默认的,在同包内可以被访问。
  • private:私有的,只能被本类访问。

其中public、protected、private是三种最常见的访问修饰符,这三种修饰符的访问权限决定了类的封装性和继承性。

2. 关于封装和继承

Java中的类封装性和继承性都是通过访问修饰符来实现的。

  • 封装性:封装性是指可以把一个类的实现细节隐藏起来,不允许外部程序直接访问和修改该类的实现细节。这样可以提高程序安全性、可维护性和可重用性。
  • 继承性:继承性是指子类可以继承父类的属性和方法,子类可以扩展或重写父类的功能。继承可以提高程序的复用性和可扩展性。

3. public修饰符

使用public修饰符可以使被修饰的类、属性或方法对所有类可见,没有访问限制,是最开放的访问控制方式。

3.1 public修饰类

如果一个类被public修饰,则这个类对于任何类都是可见的。如下代码:

    public class Person {
        //类内容
    }

上述代码中,Person类被public修饰,可以被其它任何类访问到。这样的类通常定义在单独的文件中。

3.2 public修饰方法

如果一个方法被public修饰,则这个方法可以被该类外的任何类调用。如下代码:

    public class Person {
        public String getName() {
            return name;
        }
    }

上述代码中,getName()方法被public修饰,可以被该类外的任何类调用,得到该对象的名字。

3.3 public修饰属性

如果一个属性被public修饰,则这个属性可以被该类外的任何类访问和修改。如下代码:

    public class Person {
        public String name;
    }

上述代码中,name属性被public修饰,可以被该类外的任何类访问和修改。

4. protected修饰符

使用protected修饰符可以使该类的属性和方法对该类的子类或者同一包内的类可见。

4.1 protected修饰类

使用protected修饰符修饰的类,只能访问同一包中的其他protected成员,或者继承该类的子类中的protected成员。如下代码:

    protected class Person {
        //类内容
    }

上述代码中,Person类被protected修饰,只能在同一包中或继承该类的子类中使用。

4.2 protected修饰方法

使用protected修饰符修饰的方法,只能被同一包中的其他类或继承该类的子类中访问。如下代码:

    public class Person {
        protected String getName() {
            return name;
        }
    }

上述代码中,getName()方法被protected修饰,只能在同一包中或继承该类的子类中使用,得到该对象的名字。

4.3 protected修饰属性

使用protected修饰符修饰的属性,可以被该类的子类或同一包的类访问和修改。如下代码:

    public class Person {
        protected String name;
    }

上述代码中,name属性被protected修饰,只能在同一包中或继承该类的子类中使用。

5. private修饰符

使用private修饰符可以使该类的属性和方法只能被该类内部调用,而其他类无法访问。

5.1 private修饰类

使用private修饰符修饰类,表示该类只能被其内部的方法所使用。如下代码:

    public class Person {
        private class InnerPerson {
            //类内容
        }
        //类内容
    }

上述代码中,InnerPerson类被private修饰,只能被Person类内部的方法所使用。

5.2 private修饰方法

使用private修饰符修饰方法,表示该方法只能在本类中使用。如下代码:

    public class Person {
        private String getName() {
            return name;
        }
    }

上述代码中,getName()方法被private修饰,只能在Person类内部使用,得到对应对象的名字。

5.3 private修饰属性

使用private修饰符修饰属性,表示该属性只能在本类中使用。如下代码:

    public class Person {
        private String name;
    }

上述代码中,name属性被private修饰,只能被Person类内部使用。

总结

在Java中,通过访问修饰符可以控制类的访问权限,包括属性和方法。public修饰符最为开放,private修饰符最为内部。不同的修饰符适用于不同的场景,封装和继承性都是通过访问修饰符来实现的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 的访问修饰符public,protected,private(封装、继承) - Python技术站

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

相关文章

  • htmlmailto标签详细使用方法

    HTML mailto标签详细使用方法 HTML中的mailto标签是一种用于创建电子邮件链接的标签。本文将介绍如何使用mailto标签,并提供两个示例说明。 步骤1:使用mailto标签 使用mailto标签,可以按照以下步操作: 在HTML文档中,使用<a>标签创建一个链接。 在<a>标中,使用href属性,并将其设置为mailt…

    other 2023年5月6日
    00
  • Ajax校验用户名是否存在的方法

    当用户在注册或登录等操作中输入用户名时,我们希望能够通过Ajax请求来判断此用户名是否已存在。下面是一些示例来演示如何使用Ajax校验用户名的方法。 一、编写前端代码 在前端代码中,我们需要监听输入框的change事件或者blur事件,这样当用户输入完用户名之后,就会触发Ajax请求,请求后台数据来判断用户名是否合法。以下是一个示例代码: <input…

    other 2023年6月27日
    00
  • win10提示错误应用程序SearchIndexer.exe的解决方法

    Win10提示错误应用程序SearchIndexer.exe的解决方法 问题描述 当你在使用Win10电脑时,可能会遇到类似以下提示的错误: 应用程序SearchIndexer.exe引发了一个问题, 需要关闭。Windows会通知您是否有解决方法。 这个错误会影响你的日常使用,因为SearchIndexer.exe是Windows中负责搜索文件的系统服务,…

    other 2023年6月25日
    00
  • IE浏览器图标出现无加载项怎么办?

    问题描述:当我们启动IE浏览器时,如果浏览器图标下方没有显示“加载项”,则表示IE浏览器中没有安装任何扩展程序,这对于浏览器使用者而言是非常不便的。那么当IE浏览器图标出现无加载项的情况时,我们该怎么办呢? 解决方法:解决该问题的方法有以下两种: 方法一:通过管理添加程序方式添加IE浏览器服务1.打开“控制面板”;2.选择“程序和功能”;3.选择“启用或关闭…

    other 2023年6月25日
    00
  • 腾讯视频怎么切换账号?腾讯视频切换账号登录教程

    当你需要切换腾讯视频账号时,可以按照以下步骤进行: 步骤1:打开腾讯视频官网 首先,打开腾讯视频官网(https://v.qq.com/),在打开的页面上方找到“登录”按钮,点击进入登录页面。 步骤2:进入账号切换页面 在登录页面中,先输入当前登录账号的用户名和密码,然后点击“登录”按钮。登录成功后,页面会跳转到腾讯视频的主界面上。接下来,在主界面左上方找到…

    other 2023年6月27日
    00
  • 微信小程序全局变量改变监听的实现方法

    微信小程序全局变量改变监听的实现方法攻略 在微信小程序中,要实现全局变量的改变监听,可以通过以下步骤进行操作: 步骤一:创建全局变量 首先,在小程序的app.js文件中创建一个全局变量,可以使用getApp()方法获取小程序实例,并在实例中定义全局变量。例如: // app.js App({ globalData: { count: 0 } }) 在上述示例…

    other 2023年7月29日
    00
  • vue如何自定义地址设置@

    Vue是一个流行的JavaScript框架,有时需要使用自定义地址符号“@”来代替相对路径或绝对路径。以下是详细的步骤。 在webpack配置文件中定义别名 由于Vue项目使用的是webpack作为构建工具,我们需要在webpack的配置文件中设置别名。打开webpack配置文件,找到alias选项,添加@别名,如下所示: module.exports = …

    other 2023年6月25日
    00
  • vs2019 MFC实现office界面的画图小项目

    关于“vs2019 MFC实现office界面的画图小项目”的完整攻略,我将会对整个过程进行详细讲解,同时提供两个示例。 一、创建MFC应用程序 首先,我们需要创建一个MFC应用程序,步骤如下: 1.打开Visual Studio 2019,点击“文件”-“新建”-“项目”-“MFC应用程序向导”,然后点击“下一步”。 2.在“应用程序类型”选项卡中,选择“…

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