广告
返回顶部
首页 > 资讯 > 精选 >Java封装与接口的概念
  • 683
分享到

Java封装与接口的概念

2023-06-02 14:06:45 683人浏览 安东尼
摘要

这篇文章主要讲解了“Java封装与接口的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java封装与接口的概念”吧!封装与接口封装(encapsulation)是计算机常见的术语,即保留

这篇文章主要讲解了“Java封装与接口的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java封装与接口的概念”吧!

封装与接口

封装(encapsulation)是计算机常见的术语,即保留有限的外部接口(interface),隐藏具体实施细节。比如在linux架构,就可以看到Linux操作系统封装了底层硬件的具体细节,只保留了系统调用这一套接口。用户处在封装的外部,只能通过接口,进行所需的操作。

封装在生活中很常见。比如下面是一个充电电筒:

Java封装与接口的概念

一个用户即使不看说明书,也可以猜到这个电筒的操作: 开关和充电。这个电筒用一个塑料壳将用户不需要接触的内部细节隐藏起来,只保留了两个接口,开关和电插头。使用这两个接口,用户足以使用该产品在设计中想要实现的功能。如果所有的细节都同时暴露给用户,那么用户会对产品感到不知所措 (比如下面不加壳的遥控器)。因此,封装提高了产品的易用性。

Java封装与接口的概念

如果产品不封装,电筒或者遥控器的许多细节会暴露在用户面前: 电池、电路、密封的橡胶等等。尽管这可以让用户更自由的对产品实施操作,比如直接给电池放电,取出一个LED灯等等。然而,用户往往要承担更大的损坏产品的风险。因此,封装提高了产品的安全性。

一个Java软件产品与一个日常产品相同。一个对象内部可以有许多成员(数据成员和方法)。有一些数据成员和方法只是内部使用。这时,我们会希望有一个给对象“加壳”的机制,从而封装对象。这样,用户可以比较容易学习和使用外部的接口,而不必接触内部成员。

对象成员的封装

Java通过三个关键字来控制对象的成员的外部可见性(visibility): public, private, protected。

  • public: 该成员外部可见,即该成员为接口的一部分

  • private: 该成员外部不可见,只能用于内部使用,无法从外部访问。

(protected涉及继承的概念,放在以后说)

我们先来封装以前定义的Human类:

public class Test{    public static void main(String[] args)    {        Human aPerson = new Human(160);        System.out.println(aPerson.getHeight());        aPerson.growHeight(170);        System.out.println(aPerson.getHeight());        aPerson.repeatBreath(100);    }}class Human{        public Human(int h)    {        this.height = h;        System.out.println("I'm born");    }        public int getHeight()    {       return this.height;    }        public void growHeight(int h)    {        this.height = this.height + h;    }         private void breath()    {        System.out.println("hu...hu...");    }       public void repeatBreath(int rep)    {        int i;        for(i = 0; i < rep; i++) {            this.breath();        }    }    private int height; // encapsulated, for internal use}

内部方法并不受封装的影响。Human的内部方法可以调用任意成员,即使是设置为private的height和breath()

外部方法只能调用public成员。当我们在Human外部时,比如Test中,我们只能调用Human中规定为public的成员,而不能调用规定为private的成员。

通过封装,Human类就只保留了下面几个方法作为接口:

  • getHeight()

  • growHeight()

  • repBreath()

我们可以将Human类及其接口表示为如下图的形式:

Java封装与接口的概念

“加了壳的遥控器”

如果我们从main中强行调用height:

System.out.println(aPerson.height);

将会有如下错误提示:

Test.java:6: height has private access in Human
        System.out.println(aPerson.height);
                                  ^
1 error

Beep, 你触电了! 一个被说明为private的成员,不能被外部调用。

在Java的通常规范中,表达状态的数据成员(比如height)要设置成private。对数据成员的修改要通过接口提供的方法进行(比如getHeight()和growHeight())。这个规范起到了保护数据的作用。用户不能直接修改数据,必须通过相应的方法才能读取和写入数据。类的设计者可以在接口方法中加入数据的使用规范。

类的封装

在一个.java文件中,有且只能有一个类带有public关键字,比如上面的Test类。所以,从任意其他类中,我们都可以直接调用该类。Human类没有关键字。更早之前,我们对象的成员也没有关键字。这种没有关键字的情况也代表了一种可见性,我将在包(package)的讲解中深入。

练习 封装一个Torch类,来表示电筒。接口有开关和充电。内部的成员有电量。

感谢各位的阅读,以上就是“Java封装与接口的概念”的内容了,经过本文的学习后,相信大家对Java封装与接口的概念这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Java封装与接口的概念

本文链接: https://www.lsjlt.com/news/230306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java封装与接口的概念
    这篇文章主要讲解了“Java封装与接口的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java封装与接口的概念”吧!封装与接口封装(encapsulation)是计算机常见的术语,即保留...
    99+
    2023-06-02
  • Java封装的概念是什么
    这篇文章主要介绍“Java封装的概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java封装的概念是什么”文章能帮助大家解决问题。封装封装的概念将类的某些信息隐藏在类的内部,不允许外部程序直...
    99+
    2023-06-30
  • Java接口interface的概念及使用
    本篇内容介绍了“Java接口interface的概念及使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在抽象类中,可以包含一个或多个抽象方...
    99+
    2023-06-03
  • C++深入讲解类与封装的概念与使用
    目录一、类的组合二、类的封装三、类成员的作用域四、小结一、类的组合 电脑一般而言是由 CPU,内存,主板,键盘和硬盘等部件组合而成。 二、类的封装 类通常分为以下两个部分 类的实现...
    99+
    2022-11-13
  • java中接口与继承的概念和实现方法
    本篇内容主要讲解“java中接口与继承的概念和实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中接口与继承的概念和实现方法”吧!目录JAVA接口的概念接口的代码实现定义关键字:in...
    99+
    2023-06-20
  • Java基础第四篇 封装与接口
    目录1、封装与接口2、对象成员的封装3、类的封装4、总结前言: 总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型。对象可以有状态和动作,即数据成员和方法...
    99+
    2022-11-12
  • php中封装的概念是什么
    本篇内容主要讲解“php中封装的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中封装的概念是什么”吧!在php中,封装就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部...
    99+
    2023-06-29
  • C++类与封装的概念是什么及怎么使用
    这篇文章主要介绍“C++类与封装的概念是什么及怎么使用”,在日常操作中,相信很多人在C++类与封装的概念是什么及怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++类与封装的概念是什么及怎么使用”的疑...
    99+
    2023-06-30
  • java接口怎么封装成api
    要封装一个Java接口成为API,需要以下步骤:1. 定义接口:首先,定义一个接口来定义API的功能和方法。接口应该包含需要暴露给外...
    99+
    2023-10-21
    java
  • ElasticSearch的安装与基本概念
    目录ElasticSearch介绍:下载安装centos7单机版安装windows安装:elasticsearch-head:通过docker安装通过chrome插件安装: 【注意:...
    99+
    2023-05-15
    ElasticSearch ElasticSearch安装 ElasticSearch概念
  • java接口返回值如何封装
    在Java中,接口是一种定义行为的规范,它定义了一个类应该具有的方法,但不提供方法的具体实现。因此,接口本身不会有返回值。但是,可以...
    99+
    2023-10-10
    java
  • 接口回调的概念和典型例程(java和kotlin)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、什么是接口回调?二、为什么要使用接口回调三、在JAVA和kotlin中几个接口回调的实例1.java实例2.kotlin实例 三、总结 ...
    99+
    2023-12-22
    android
  • Spring Data JPA框架的核心概念与Repository接口详解
    目录1 核心概念CrudRepository接口PagingAndSortingRepository接口2 查询方法3 后续内容介绍1 核心概念 Spring Data存储库抽象的中...
    99+
    2022-11-13
  • SAP接口技术的概念是什么
    今天小编给大家分享一下SAP接口技术的概念是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SAP接口作为目前ERP市场上...
    99+
    2023-06-05
  • Vue中Axios的封装与接口管理详解
    目录一、 Axios 的封装安装 Axios引入接口管理统一暴露接口在组件中使用补充:封装get方法和post方法总结一、 Axios 的封装 在 Vue 项目中,和后台进行数据交互...
    99+
    2022-11-13
  • Python面向对象中封装的概念是什么
    这篇文章将为大家详细讲解有关Python面向对象中封装的概念是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 封装的概念封装其实在我们的生活中处处都是,如电视机,电脑,手机等物品。我们通常只能看到其...
    99+
    2023-06-29
  • C#接口的概念以及实现方式
    这篇文章主要讲解了“C#接口的概念以及实现方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#接口的概念以及实现方式”吧!C#接口是什么呢?C#接口(interface)用来定义一种程序的...
    99+
    2023-06-17
  • 接口测试的核心概念是什么
    本篇内容介绍了“接口测试的核心概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开发口中的接口是什么我相信绝大多数测试同学听闻“接口”...
    99+
    2023-06-15
  • Java调用第三方接口封装实现
    目录介绍一、借助feign实现调用二、自己封装请求类三、调用第三方生成token,可以使用策略类实现总结介绍 在Java项目中,会遇到很多调用第三方接口的地方,比如接入微信,其他公司...
    99+
    2023-02-16
    Java调用第三方接口封装 Java调用第三方接口
  • Java中的同步与异步的概念
    这篇文章主要讲解了“Java中的同步与异步的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的同步与异步的概念”吧!一.进程同步及异步的概念1.进程同步:就是在发出一个功能调用时...
    99+
    2023-05-30
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作