iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java超详细讲解三大特性之一的封装
  • 490
分享到

Java超详细讲解三大特性之一的封装

2024-04-02 19:04:59 490人浏览 八月长安

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

摘要

目录封装封装的概念Java中的包java中类的成员-构造器java中的this关键字总结说到面向对象则不得不提面向对象的三大特征:封装,继承,多态。那么今天就和大家先来介绍什么是封装

说到面向对象则不得不提面向对象的三大特征:封装,继承,多态。那么今天就和大家先来介绍什么是封装。

封装

封装的概念

将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。

为什么需要封装?

当我们创建一个类的对象后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。这里赋值操作要受到 属性的数据类型和存储范围的制约。除此之外,没有其他制约条件,但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制性条件的添加。同时我们需要避免用户再使用“对象.属性”的方式对属性进行赋值,则需要将属性声明为私有的(private)。

封装的优点:

1. 良好的封装能够减少耦合。

2. 类内部的结构可以自由修改。

3. 可以对成员变量进行更精确的控制。

4. 隐藏信息,实现细节。

封装的实现步骤

(1)将属性修改为private

(2)创建getter/setter方法,通过这两种方法对数据进行获取和设定,对象通过调用这两种发方法实现对数据的读写。

class person{
  private int age;//修改属性为private
public int getAge(){
  return age;
}
public void setAge(int a){
   age = a;
   }
 }

封装 隐藏对象内部的复杂性,只对外公开简单的接口便于外部调用,封装性的体现,需要权限修饰符来配合。

Java中的包

Java中的包是为了更好的实现项目中类的管理,解决同名文件的冲突,提到java中的包那么我们就不得不提到package关键字,我们一般使用package声明类或接口所属的包,声明在源文件的首行,比如 package java.lang,每 . 一次就代表一层文件目录,同一个包下不能命名同名的接口,类,不同的包可以,对于包的使用则需要使用import关键字,在源文件中显示的使用import结构导入指定包下的类,接口,通常import声明在包的声明和类的声明之间,java中,包的名字规范是全小写的字母拼写

java中类的成员-构造器

任何一个类都有构造器,用来创建对象和初始化对象的属性,创建类的对象的方法:new+构造器,如 Person p = new Person();如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器

定义构造器的格式

权限修饰符 类名 (形参列表){}

总结:属性赋值的先后顺序:

1默认初始化

2显式初始化

3构造器中初始化

4通过“对象.方法”或“对象.属性”的方法,赋值

java中的this关键字

this关键字可以用来修饰:属性,方法构造器,this理解为:当前对象 或当前正在创建的对象

在类的方法中,我们可以使用“this.属性”或“this.方法”的方式,调用 当前对象属性或方法。但是通常情况下,我们都选择省略“this.”。特殊情况下,如果方法的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表面此变量为属性。

在类的构造器也是一样,调用一个空参的构造器:this();调用有参数的 比如 public Person (int age) 就可以用 this(age)来进行调用,但是构造器中不能自己调用自己只能调用其他的构造器,如果有n个构造器,那么只有n-1个构造器可以使用this这样的方式来调用,且构造器this调用必须声明在构造器的首行,this也可以用来进行对象之间的比较大小。

public class Boy {
    private int age;
    public int getAge() {
        return age;
    }
    public void setAge(int a) {
        age = a;
    }
    public void compare(Boy boy) {
        if (this.age > boy.age) {
            System.out.println("YES");
        } else if (this.age < boy.age) {
            System.out.println("No");
        }
    }
}

总结

今天介绍了封装的概念,构造器,以及package,import 和 this关键字,希望大家喜欢。

到此这篇关于Java超详细讲解三大特性之一的封装的文章就介绍到这了,更多相关Java封装内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java超详细讲解三大特性之一的封装

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

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

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

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

下载Word文档
猜你喜欢
  • Java超详细讲解三大特性之一的封装
    目录封装封装的概念Java中的包java中类的成员-构造器java中的this关键字总结说到面向对象则不得不提面向对象的三大特征:封装,继承,多态。那么今天就和大家先来介绍什么是封装...
    99+
    2024-04-02
  • Java超详细讲解三大特性之一的多态
    目录多态性instanceof 关键字的使用==和equals()区别object类中toString()的使用static关键字的使用总结多态性 1理解多态性:可以理解为一个事物的...
    99+
    2024-04-02
  • Java超详细讲解三大特性之一的继承
    目录继承的概念方法的重写super关键字的使用super调用构造器总结继承的概念 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,...
    99+
    2024-04-02
  • Java三大特性之封装详解
    目录封装概述概述原则封装的步骤封装的操作—private关键字private的含义private的使用格式封装优化1—this关键字this的含义this使用...
    99+
    2022-11-13
    Java 特性 封装 Java 封装
  • Java三大特性之继承详解
    目录概述由来定义好处继承的格式继承后的特点—成员变量成员变量不重名成员变量重名继承后的特点—成员方法成员方法不重名成员方法重名—重写(Overri...
    99+
    2022-11-13
    Java 特性 继承 Java 继承
  • Java三大特性之多态详解
    目录概述引入定义多态的体现多态的好处引用类型转换向上转型向下转型为什么要转型转型的异常概述 引入 多态是继封装、继承之后,面向对象的第三大特性。 生活中,比如跑的动作,小猫、小狗和大...
    99+
    2022-11-13
    Java 特性 多态 Java多态
  • SpringBoot封装响应处理超详细讲解
    目录背景报文基本格式创建枚举类定义统一返回结果实体类定义返回工具类统一报文封装在接口中的使用统一异常处理小结背景 越来越多的项目开始基于前后端分离的模式进行开发,这对后端接口的报文格...
    99+
    2022-12-23
    SpringBoot封装响应处理 SpringBoot封装
  • JavaOOP三大特征之封装继承与多态详解
    目录封装继承多态OOP语言的三大特征即:面向对象的三个比较重要的思想 封装 官话:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口进行交互 通俗讲,不让类...
    99+
    2024-04-02
  • 一篇文章带你了解JAVA面对对象三大特征之封装
    目录面对对象的三大特征: 封装、继承、多态封装继承多态类和对象关于类关于对象三大特征第一封装关于封装思想 :private关键字this关键字构造方法构造方法注意事项总结面对对象的三...
    99+
    2024-04-02
  • Java超详细讲解设计模式之一的单例模式
    目录单例模式1.单例模式的结构2.单例模式的实现2.1饿汉式2.2懒汉式3.单例模式的破坏3.1序列化和反序列化3.2反射单例模式 单例模式顾名思义就是单一的实例,涉及到一个单一的类...
    99+
    2024-04-02
  • Java超详细讲解设计模式之一的工厂模式
    目录工厂模式1.简单工厂1.1结构1.2实现1.3优缺点1.4扩展2.工厂方法2.1结构2.2实现2.3优缺点3.抽象工厂3.1结构3.2实现3.3优缺点4.模式扩展4.1实现工厂模...
    99+
    2024-04-02
  • Java超详细讲解类的继承
    目录写在前面1.子类的创建1.1子类的创建方法1.2调用父类中特定的构造方法2.在子类中访问父类成员3.覆盖3.1覆盖父类中的方法3.2用父类的对象访问子类的成员4.不可被继承的成员...
    99+
    2024-04-02
  • Java 超详细讲解设计模式之原型模式讲解
    目录传统方式原型模式基本介绍原型模式在spring框架中源码分析深入讨论-浅讨论和深拷贝原型模式的注意事项和细节传统方式 克隆羊问题 现在有一只羊 tom,姓名为: tom,年龄为:...
    99+
    2024-04-02
  • React组件封装中三大核心属性详细介绍
    目录1、介绍2、state概念演示3、props概念props与state区别4、refs概念refs种类5、父子组件什么是父子组件父子组件之间传值1、介绍 React组件中默认封装...
    99+
    2024-04-02
  • Java超详细讲解异常的处理
    目录1、异常的概念和体系结构1.1异常的概念1.2异常的体系结构及分类2、异常的处理2.1防御式编程2.2异常地抛出2.3异常的捕获(1)异常声明throws(2)try-catch...
    99+
    2024-04-02
  • Java超详细讲解ThreadLocal类的使用
    目录Threadlocal有什么用:ThreadLocal使用实例API介绍ThreadLocal的使用Threadlocal 的源码分析原理源码内部类ThreadLocalMapT...
    99+
    2024-04-02
  • Java超详细讲解多态的调用
    概念:多态是什么它就相当于区别对待,比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优 先买票。再者就是再举个详细的例子: 最近为了争夺在线支付市场...
    99+
    2024-04-02
  • python3--面向对象的三大特性:封装,property,classmethod,staticmethod
    python中的封装隐藏对象的属性和实现细节,仅对外提供公共访问方式好处:1 将变化隔离2 便于使用3 提供复用性4 提高安全性封装原则1 将不需要对外提供的内容都隐藏起来2 把属性都隐藏,提供公共方法对其访问私有变量和私有方法在pytho...
    99+
    2023-01-30
    三大 面向对象 特性
  • Android超详细讲解fitsSystemWindows属性的使用
    对于android:fitsSystemWindows这个属性你是否感觉又熟悉又陌生呢? 熟悉是因为大概知道它可以用来实现沉浸式状态栏的效果,陌生是因为对它好像又不够了解,这个属性经...
    99+
    2024-04-02
  • Java 超详细讲解十大排序算法面试无忧
    目录排序算法的稳定性:一.选择排序二.冒泡排序三.插入排序四.希尔排序五.堆排序六.归并排序七.快速排序八.鸽巢排序九.计数排序十.基数排序 排序算法的稳定性:  &nbs...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作