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日

相关文章

  • layui中autocomplete

    以下是layui中autocomplete的完整攻略: 步骤1:引入layui和autocomplete模块 在使用layui的autocomplete模块之前,需要先引入layui和autocomplete模块。可以使用以下代码引入: <link rel="stylesheet" href="https://cdn.st…

    other 2023年5月6日
    00
  • python中class类与方法的用法实例详解

    Python中class类与方法的用法实例详解 在Python中,我们可以使用class(类)定义一个对象,包括对象的属性和行为,其中方法是类中最重要的组成部分之一。在本文中,我们将详细讲解Python中class类和方法的用法,并提供两个实例,以便更好地理解它们。 什么是类? 类是一种数据类型,它是一个模板或蓝图,用于创建对象的属性和方法。它是一种组合数据…

    other 2023年6月26日
    00
  • mysql 中如何取得汉字字段的各汉字首字母

    在 MySQL 中,可以使用 SUBSTRING() 函数、ASCII() 函数和REPLACE()函数来实现取得汉字字段的各汉字首字母。以下是具体的步骤: 步骤1:使用 SELECT 语句选择要获取首字母的汉字字段,例如表名为 table1,汉字字段名为 name,可以执行如下语句: SELECT name FROM table1; 步骤2:将汉字字段转换…

    other 2023年6月25日
    00
  • javascript递归函数定义和用法示例分析

    Javascript递归函数定义和用法示例分析 定义 递归函数指在函数内部调用函数本身的方式。在Javascript中,可以通过函数定义来实现递归函数的效果。 以下是递归函数的一般形式: function recursiveFunction(parameters) { // 基本案例 if () { return ; } // 递归调用 else { rec…

    other 2023年6月27日
    00
  • java递归设置层级菜单的实现

    Java递归设置层级菜单的实现,可以通过以下几个步骤来完成: 设计数据模型 首先需要设计数据模型,以便存储菜单的信息。这里我们可以使用一个Menu类来表示菜单,它包含以下几个属性: id:菜单的唯一标识符。 name:菜单名称。 parentId:菜单的父节点标识符,如果为0表示该菜单是顶级菜单。 children:菜单的子节点列表,如果没有子节点则为nul…

    other 2023年6月27日
    00
  • 基于java构造方法Vector修改元素源码分析

    基于Java构造方法Vector修改元素源码分析攻略 介绍 在Java中,Vector是一个线程安全的动态数组,它提供了一系列方法来操作和修改元素。本攻略将详细讲解如何使用Vector的构造方法来修改元素,并提供两个示例说明。 Vector构造方法 Vector类提供了多个构造方法,其中最常用的是以下两种: Vector(): 创建一个初始容量为10的空向量…

    other 2023年8月6日
    00
  • 利用PHP扩展Xhprof分析项目性能实践教程

    下面是利用PHP扩展Xhprof分析项目性能的完整攻略: 什么是Xhprof Xhprof是PHP的一个扩展模块,可以在不修改代码的情况下跟踪PHP代码的性能,生成函数调用、内存使用、CPU时间等方面的统计信息,以便进行性能分析和优化。 安装Xhprof扩展 首先需要安装Xhprof扩展。可以直接从github上下载源代码,然后编译安装: git clone…

    other 2023年6月27日
    00
  • Android应用实现安装后自启动的方法

    以下是实现Android应用安装后自启动的方法的完整攻略: 方法1:使用广播接收器(Broadcast Receiver) 在AndroidManifest.xml文件中注册一个广播接收器,指定接收BOOT_COMPLETED(开机完成)和PACKAGE_REPLACED(应用安装完成)等系统广播事件。 <receiver android:name=\…

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