广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java面向对象特性深入刨析封装
  • 811
分享到

Java面向对象特性深入刨析封装

2024-04-02 19:04:59 811人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.认识封装2.控制访问权限-访问修饰符3.理解封装必须要知道-包3.1理解包的概念3.2 导入包中的类3.3 自定义包3.4 包的访问权限控制3.5 java中常见的包前面已经

前面已经提过了 Java是一门面向对象(oop)的进行编程的语言,

面向对象的编程,有很多的好处,比如更容易开拓思维,分工合作,提高开发效率,

最主要的是 可重用性高,也就是下面将要提到的这三个核心特性(封装,继承,多态)。

可扩展性,易于管理。

1.认识封装

简单的一句话就是套壳屏蔽细节。

比如说一部手机,里面有电池,芯片,主板,摄像头,屏幕,等等电子器件。

对于我们用户来说,会开关机,调音量,会操作使用接打电话等作用就可以了,

不需要考虑内部的线路是怎么样的,电子器件是什么型号的,这些都不用管。

所以手机厂商会用外壳把里面的电子器件包裹封装起来,让用户使用更方便,就是这一种思想

和我们的在面向对象的核心特性之一的封装相似。

比较正式的讲就是:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互

按照我的通俗理解就是,比如说,和人进行交流,具体他是怎么发出声音,这一系列过程我不关注,我只需听他讲出什么话,就可以了

2.控制访问权限-访问修饰符

既然java中封装是只留下接口,和对象进行交互,那么如何实现这种接口 ,将里面的细节进行控制隐藏,这就要提到访问修饰符了

访问修饰符作用:通过控制类和访问权限来实现封装

类可以将数据和封装数据的方法结合在一起,

而访问权限用来控制方法或者字段能否直接在类外使用

范围

private

私有

default

默认

protected

继承

public

公开

同一包中的同一类
同一包中的不同类 
不同包中的子类  
不同包中的非子类   

?(公开)public:在任何地方都可以访问它修饰的成员,方法或者类。

?(继承)protected:看后面,

?(默认)default:在同一个包中进行访问

?(私有)private:只能在当前类中进行访问

public class TestDemo01 {
    int year;
    //默认权限,可以省略default
    private int month;
    //私有权限,只能在同一个类中访问
    public int day;
    //公有权限,那里都能访问
}

下面演示一下

在第一个类TestDemo01中

在二个类TestDemo02中

我们发现,找不到month,这是因为我们把它的访问权限写成了private,变成私有的了,别的类不能访问。这就是实现封装了,month只能在TestDemo01中使用。

我们实现封装是为了只留下接口,不展示细节,

下面我们演示一下封装后的接口

如果说有很多成员都是私有的,我们可以不用一个一个写这两个接口,可以借助idea的功能来快速写出,

3.理解封装必须要知道-包

3.1理解包的概念

包的存在是为了更好的管理类,把多个类收集在一起成为一组,进行分组和目录相似

包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,

包还有一个很作用是,在同一个工程中允许存在相同名称类,只要处在不同的包中即可。

3.2 导入包中的类

下面再看为什么会报错

怎么解决这种问题,那就要指定具体的包了

package com.toabao.www;
import java.util.*;
import java.sql.*;
public class TestDemo03 {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
        java.util.Date date = new java.util.Date();
        java.sql.Date date1 = new java.sql.Date(12);
    }
}

使用import static导入包中静态的方法和字段

import static java.lang.Math.*;
public class TestDemo01 {
public static void main(String[] args) {
    double x = 13;
    double y = 14;
    double result = sqrt(pow(x,2)+pow(y,2));
}
}

3.3 自定义包

先看步骤,不会的大家可以试着自己创建一个包

注意:

1. 包创建好后,在文件中,最上方都要有一句 package语句来说明在文件在哪个包中(idea会自动添加)

2. 包的命名,一般会比如说是域名的反过来的名字

3.我们可以在存放代码的位置看一下,刚刚创建好的包

3.4 包的访问权限控制

同一个包中的同一类

package Demo01;
public class Test01 {
    int count = 10;
    public void func(){
        System.out.println(count);
    }
}

同一个包中不同的类的访问

不同包中的子类

前面的count的访问权限是默认的,也就是default,不能访问不同包中的子类和非子类

如果非要访问可以将访问权限改成public,

3.5 java中常见的包

1. java.lang:系统常用基础类(String、Object),jdk1.1后就不用写了,会自动导入,

2. java.lang.reflflect:java 反射编程包

3. java.net:进行网络编程开发包

4. java.sql:进行数据库开发的支持包

5. java.util:是java提供的工具程序包

6. java.io:I/O编程开发包

到此这篇关于Java面向对象特性深入刨析封装的文章就介绍到这了,更多相关Java封装内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java面向对象特性深入刨析封装

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

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

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

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

下载Word文档
猜你喜欢
  • Java面向对象特性深入刨析封装
    目录1.认识封装2.控制访问权限-访问修饰符3.理解封装必须要知道-包3.1理解包的概念3.2 导入包中的类3.3 自定义包3.4 包的访问权限控制3.5 java中常见的包前面已经...
    99+
    2022-11-13
  • Java面向对象的封装特征深度解析
    目录面向对象三大特征封装private关键字——实现类封装访问器方法和更改器方法包——类的集合导入包从人的角度理解包不加访问权限——实现包封装总结在上一篇文章中,我们了解了面向对象的...
    99+
    2022-11-12
  • java面向对象——封装
    概述面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理...
    99+
    2021-02-06
    java入门 java 面向对象 封装
  • Java全面分析面向对象之封装
    目录什么是封装呢封装的好处意义getter方法和setter方法toString方法面向对象封装之包自定义包什么是封装呢 封装就是一种将数据和操作数据的方法进行有机结合,一种函数抽象...
    99+
    2022-11-13
  • 深入浅析java中的面向对象
    本篇文章给大家分享的是有关深入浅析java中的面向对象,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一.面向对象(OO)面向对象(OO):就是基于对象概念,以对象为中心,以类和...
    99+
    2023-05-31
    面向对象 java ava
  • Java面向对象如何封装
    这篇文章主要讲解了“Java面向对象如何封装”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java面向对象如何封装”吧!1.认识封装简单的一句话就是套壳屏蔽细节。比如说一部手机,里面有电池,...
    99+
    2023-06-30
  • python3--面向对象的三大特性:封装,property,classmethod,staticmethod
    python中的封装隐藏对象的属性和实现细节,仅对外提供公共访问方式好处:1 将变化隔离2 便于使用3 提供复用性4 提高安全性封装原则1 将不需要对外提供的内容都隐藏起来2 把属性都隐藏,提供公共方法对其访问私有变量和私有方法在pytho...
    99+
    2023-01-30
    三大 面向对象 特性
  • C++深入讲解类与对象之OOP面向对象编程与封装
    目录1.面向对象编程2.面向过程性编程和面向对象编程3.类的引入4.类的定义4.1类的两种定义方式4.1.1声明和定义全部放在类体中4.2.2.声明和定义不放在类体中5.类的访问限定...
    99+
    2022-11-13
  • Java 面向对象 之 封装方法
    转载于 : http://www.verejava.com/id=16992728331734 public class Encapsulation {public static&...
    99+
    2023-06-02
  • Python面向对象的三大特性封装、继承、多态
    Python是一门面向对象的语言。面向对象都有三大特性:封装、继承、多态。 下面分别来说说这三大特性: 1、封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式。在python中用...
    99+
    2022-11-11
  • java面向对象特性介绍
    Java面向对象的三大特性:封装、继承、多态。一、封装将类的信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作与访问。封装的实现步骤:修改属性的可见性:设为private创建getter/setter方法...
    99+
    2018-11-22
    java入门 java 面向对象 特性
  • javascript面向对象三大特征之封装的示例分析
    这篇文章主要介绍了javascript面向对象三大特征之封装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:封装封装(En...
    99+
    2022-10-19
  • Java面向对象的封装你了解吗
    目录面向对象思想之封装什么是封装呢?封装的好处意义getter方法和setter方法toString方法总结:面向对象思想之封装 或许大家都听说过java是纯面向对象语言,面向对象思...
    99+
    2022-11-13
  • Java面向对象的三大特性
    本篇内容主要讲解“Java面向对象的三大特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java面向对象的三大特性”吧!Java面向对象三大特性面向对象简称 OO(Object Oriente...
    99+
    2023-06-02
  • Java 面向对象和封装全面梳理总结
    关于面向对象和封装的个人理解 类和对象 类:对事物的一种描述(具有共同属性和行为的事物的抽象),例如手机,属性:品牌价格,行为:玩游戏,刷vx; 对象:客观存在(在java中体现就是...
    99+
    2022-11-12
  • Java 深入浅出解析面向对象之抽象类和接口
    目录抽象类声明抽象类声明抽象方法案例使用规则接口声明接口案例接口特性抽象类和接口的区别抽象类 java语言,声明类时 abstract class Db{} 说明Db类为抽象类。 j...
    99+
    2022-11-13
  • 深入浅析java中面向对象的继承和多态
    深入浅析java中面向对象的继承和多态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。继承和多态一.this super关键字this: 可以在构造器中的第一代码中...
    99+
    2023-05-31
    java 继承 多态
  • Python面向对象三大特征 封装、继承、多态
    目录1、封装1.1 私有属性和私有方法2、继承2.1 方法的重写2.2 在子类方法中调用父类方法2.3 多继承2.4 新式类和经典类 3、多态1、封装 封装: 根据 职责 将 属性 ...
    99+
    2022-11-12
  • Java面向对象编程(封装/继承/多态)实例解析
    本文主要介绍了面向对象的三大特征实例解析,下面看看具体内容。封装封装一个Teacher和Student类package com.hz.test;public class Teacher { private String name; pr...
    99+
    2023-05-30
    java 面向对象 ava
  • 深入浅析Kotlin中的面向对象编程
    这篇文章给大家介绍深入浅析Kotlin中的面向对象编程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Kotlin 面向对象可以看到Kotlin中的类还是很普通的,大多与Java相似,比较特殊的有:每一个构造函数都必须为...
    99+
    2023-05-31
    kotlin 面向对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作