精华内容
下载资源
问答
  • 以下关于java封装的描述中,正确的是:(牛客网)
    千次阅读
    2016-09-05 10:35:28
    以下关于java封装的描述中,正确的是:

    正确答案:A  你的答案:A(正确)

    封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
    封装的意义不大,因此在编码中尽量不要使用
    如果子类继承父类,对于父类中进行封装的方法,子类仍然可以直接调用
    只能对一个类中的方法进行封装,不能对属性进行封装
    更多相关内容
  • 主要介绍了Java封装统一的Result Model案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java封装echarts

    2019-08-30 16:58:17
    java封装的echarts 组件,挺好用的。
  • 主要介绍了Java数据封装树形结构代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • JAVA封装JSON数据

    2019-04-09 01:03:37
    NULL 博文链接:https://hzywy.iteye.com/blog/1618266
  • 主要为大家详细介绍了java自定义封装StringUtils常用工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java常用工具类封装

    2020-09-14 15:39:16
    java常用工具类封装,线程池、elasticsearch高级客户端集成、word,pdf,excel等文档解析
  • Java封装阿里云对象存储OSS-附件资源
  • java分页类封装

    2018-09-12 22:46:38
    跟我上面的java底层简易封装配套的。有需要的也可以学习下。
  • 关于java分页的封装

    2014-10-17 21:17:50
    还有部分代码没有了,主要在Vo定义一个pager 在student类里继承了basic类
  • java-mongodb底层封装

    2019-01-18 16:06:08
    对mongodb进行底层封装,实现增删查改的最底层调用。对外提供了公共的接口.
  • Java数据库操作封装

    2017-07-09 09:33:08
    Java数据库操作封装类,借鉴了各个主流类库的思路。
  • Java封装详解,很简单

    千次阅读 2022-01-16 12:51:41
    大家好,今天来给大家分享一下Java封装 面向对象有三大特征: 1.封装 2.继承 3. 多态 我们来讲Java封装,它也是Java面向对象的三大特征之一 封装 ,大白话的解释就是,把一个东西,装到箱子了,只留小小的口,用于...

    大家好,今天来给大家分享一下Java封装

    面向对象有三大特征:
    1.封装
    2.继承
    3. 多态
    我们来讲Java封装,它也是Java面向对象的三大特征之一
    封装 ,大白话的解释就是,把一个东西,装到箱子了,只留小小的口,用于外界访问

    画一个图

    在这里插入图片描述
    就是该露的露,该藏的藏

    我们在程序设计的过程中要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己来完成,不允许外部干涉,低耦合:就是, 仅暴露少量的方法给外部使用

    封装(数据的隐藏)
    通常,应禁止直接访问一个对象中数据的实际表示,而是应该通过操作接口来访问,这叫信息隐藏

    属性私有

    get/set

    看代码:

    package Fengzhuang;
       //类    private:私有
       
    public class student {
            
          private String name; //名字(属性)
          private int id; //学号(属性)
           private char sex;//性别(属性)
    
        //学习()      这是方法
        //性别()      这是方法
    
    
    }
    

    作为一号代码区

    接下来再写

    定义二号代码区

    package Fengzhuang;
    
    public class Application {
        public static void main(String[] args) {
              student s1 =new student();    //创建对象
              s1.name       //注意这一行,.name会冒红
              //因为name属性已经被私有化(private)了,所以没有办法调用
        }
    }
    

    我们来改一下一号代码区的代码

    package Fengzhuang;
       //类    private:私有
    public class student {
           //属性私有
          private String name; //名字(属性)
    

    这里就不会报错了

    这样,我们就得到一个问题
    属性被私有化,外部没有办法调用,而在这样的情况下,我们在不想改变私有属性的情况下,想让外部依然调用

    这样改

    package Fengzhuang;
       //类    private:私有
    public class student {
           //属性私有
          private String name; //名字(属性)
          private int id; //学号(属性)
           private char sex;//性别(属性)
    
        //学习()      这是方法
        //性别()      这是方法
           //提供一些可以操作这些属性的方法
           //提供了一些public的get  ,set方法
           //get   获取这个数据
           public String getName(){
               return this.name;
           }
         
           
    
    
    }
    
    package Fengzhuang;
    
    public class Application {
        public static void main(String[] args) {
              student s1 =new student();
              String name =s1.getName();   //注意这一行
        }
    }
    

    这样,我们就实现了对私有属性的调用

    在一号代码区

     //set   给这个数据设置值
    public void  setName(String name){
               this.name = name;
     }
    
    package Fengzhuang;
    
    public class Application {
        public static void main(String[] args) {
              student s1 =new student();
    
              String name =s1.getName();
        s1.setName("帅哥");
            System.out.println(s1.getName());  //输出
            
        }
    
    }
    

    执行结果
    在这里插入图片描述

    //alt+insert 快捷键
    自动生成

    在这里插入图片描述

    在这里插入图片描述

    接下来,我们做一个判断

    私有化age (年龄) 这个属性

    package Fengzhuang;
       //类    private:私有
    public class student {
           //属性私有
          private String name; //名字(属性)
          private int id; //学号(属性)
           private char sex;//性别(属性)
           private  int age;  //年龄(属性)
           
    
        //学习()      这是方法
        //性别()      这是方法
           //提供一些可以操作这些属性的方法
           //提供了一些public的get  ,set方法
           //get   获取这个数据
           public String getName(){
               return this.name;
           }
         //set   给这个数据设置值
     public void  setName(String name){
               this.name = name;
     }
    
         //alt+insert
    
           public int getId() {
               return id;
           }
    
           public void setId(int id) {
               this.id = id;
           }
    
           public char getSex() {
               return sex;
           }
    
           public void setSex(char sex) {
               this.sex = sex;
           }
       }
    

    使用set

      public int getAge(){
               return age;
           }
    
           public void setAge(int age) {
               this.age =age;
           }
    
     s1.setAge(999);
            System.out.println(s1.getAge());
            
    

    执行结果

    在这里插入图片描述

    加了一个条件判断

     public void setAge(int age) {
               if (age > 120 || age < 0) {    //不合法
                   this.age = 3;
               }else {
                   this.age = age;
               
               }
    

    执行结果
    在这里插入图片描述
    显示为3

    注意:在上面的判断当中,
    1.我们把age (年龄) 这个属性私有化

    2.我们使用set 赋值,如果输出的数据是大于120并且小

    于0的数(对于人的年龄来说,不合理),随即判断输入者的年龄为3岁小孩

    s1.setAge(7);   //不合法
            System.out.println(s1.getAge());
    

    在这里插入图片描述

    s1.setAge(-1);   //不合法
            System.out.println(s1.getAge());
    

    执行结果

    在这里插入图片描述

    整体代码

    package Fengzhuang;
       //类    private:私有
    public class student {
           //属性私有
           private String name; //名字(属性)
           private int id; //学号(属性)
           private char sex;//性别(属性)
           private int age;  //年龄(属性)
    
    
           //学习()      这是方法
           //性别()      这是方法
           //提供一些可以操作这些属性的方法
           //提供了一些public的get  ,set方法
           //get   获取这个数据
           public String getName() {
               return this.name;
           }
    
           //set   给这个数据设置值
           public void setName(String name) {
               this.name = name;
           }
    
           //alt+insert
    
           public int getId() {
               return id;
           }
    
           public void setId(int id) {      
               this.id = id;
           }
    
           public char getSex() {
               return sex;
           }
    
           public void setSex(char sex) {
               this.sex = sex;
           }
    
           public int getAge() {
               return age;
           }
    
           public void setAge(int age) {
               if (age > 120 || age < 0) {
                   this.age = 3;
               }else {
                   this.age=age;
    
               }
           }
       }
    
    package Fengzhuang;
    
    public class Application {
        public static void main(String[] args) {
              student s1 =new student();
    
              String name =s1.getName();
        s1.setName("帅哥");
    
            System.out.println(s1.getName());
        s1.setAge(-1);   //不合法
            System.out.println(s1.getAge());
        }
    
    }
    

    Java的封装作用
    1.提高了程序的安全性,保护数据
    2. 隐藏代码的实现细节
    3. 统一接口
    4. 增强系统的可维护性

    好了,今天的Java封装就讲到这里了,谢谢大家

    展开全文
  • java连接elasticSearch的工具类,只需要传入两个参数 一个是节点名称,一个是ip地址即可返回对象Client
  • 本文档是Java初学阶段的关于面对对象程序设计中的类的封装的小实验,希望能够帮到大家理解Java,想学好Java不难,多学多练,熟练掌握Java的思想最重要
  • echarts后台封装,采用java封装后台,直接返回给前台option。
  • Appium使用po实例和封装打包,包含断言、po封装,还有几个例子
  • java怎么封装封装_用Java封装

    千次阅读 2020-07-17 23:44:52
    java怎么封装封装 什么是封装? (What is Encapsulation?) Encapsulation is one of the ways to achieve abstraction in Object-oriented programming. 封装是在面向对象编程中实现抽象的方法之一。 It’s one of ...

    java怎么封装封装

    什么是封装? (What is Encapsulation?)

    • Encapsulation is one of the ways to achieve abstraction in Object-oriented programming.

      封装是在面向对象编程中实现抽象的方法之一。
    • It’s one of the core concepts of OOPS paradigm.

      是OOPS范式的核心概念之一
    • Encapsulation is the process of hiding Objects’ properties from the outer world and provides methods to access them.

      封装是从外部世界隐藏对象属性的过程,并提供访问它们的方法。
    • It’s the mechanism to bind together the data and the function that work on it.

      这是将数据和对其起作用的功能绑定在一起的机制。
    • Encapsulation hides the objects’ data, so it’s also called data-hiding.

      封装会隐藏对象的数据,因此也称为数据隐藏

    用Java封装 (Encapsulation in Java)

    We can achieve encapsulation in Java by declaring all the class fields as private. Then provide the public getter and setter methods for them.

    我们可以通过将所有类字段都声明为私有来实现Java封装。 然后为他们提供公共的getter和setter方法。

    Here is a simple example of encapsulation in a Java class.

    这是一个封装在Java类中的简单示例。

    package com.journaldev.oops.encapsulation;
    
    public class Data {
    
    	private int id;
    	private String value;
    
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getValue() {
    		return value;
    	}
    
    	public void setValue(String value) {
    		this.value = value;
    	}
    
    }

    封装的优势 (Advantages of Encapsulation)

    1. The encapsulated code is loosely coupled. We can change the class variable name without affecting the client programs.
      private String name;
      
      public String getValue() {
      	return name;
      }
      
      public void setValue(String value) {
      	this.name = value;
      }

      Yes, you can’t change the methods because it might break the client code. The best way would be to mark these methods as deprecated and provide the new getter-setter methods.

      封装的代码是松散耦合的 。 我们可以更改类变量名称,而不会影响客户端程序。
      private String name;
      
      public String getValue() {
      	return name;
      }
      
      public void setValue(String value) {
      	this.name = value;
      }

      是的,您不能更改方法,因为它可能会破坏客户端代码。 最好的方法是将这些方法标记为已弃用,并提供新的getter-setter方法。

    2. The caller doesn’t know what is happening inside the getter and setter methods. It makes our code more secure. We can add some validations in the getter-setter methods.
      public void setId(int id) {
      	if (id < 0)
      		throw new IllegalArgumentException("id can't be negative.");
      	this.id = id;
      }

      调用者不知道getter和setter方法内部正在发生什么。 它使我们的代码更安全 。 我们可以在getter-setter方法中添加一些验证。
    3. We can easily implement access control for the object properties. If you don't want some class variable to be set from outside, don't provide the setter method.

      我们可以轻松地实现对对象属性的访问控制 。 如果您不想从外部设置某些类变量,请不要提供setter方法。
    4. The encapsulation helps in writing unit test cases easily. The unit testing frameworks provides ways to write test cases for the methods, not for the fields.

      封装有助于轻松编写单元测试用例 。 单元测试框架提供了为方法而非领域编写测试用例的方法。
    5. The encapsulated code is reusable. If you didn't noticed, the above deprecated functions are using the new getter-setter methods.

      封装的代码是可重用的 。 如果您没有注意到,以上不推荐使用的函数正在使用新的getter-setter方法。

    参考资料 (References)

    翻译自: https://www.journaldev.com/33221/encapsulation-in-java

    java怎么封装封装

    展开全文
  • java JDBC 连接sql server封装
  • Java封装实例

    千次阅读 2019-05-17 15:00:58
    在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。 要...

    在上篇文章中讲的都是一些概念和思维方式,现在我们可以看看实例。
    在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。

    封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

    要访问该类的代码和数据,必须通过严格的接口控制。

    封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

    适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

    实例
    让我们来看一个java封装类的例子:

    /* 文件名: EncapTest.java */
    public class EncapTest{

    private String name;
    private String idNum;
    private int age;

    public int getAge(){
    return age;
    }

    public String getName(){
    return name;
    }

    public String getIdNum(){
    return idNum;
    }

    public void setAge( int newAge){
    age = newAge;
    }

    public void setName(String newName){
    name = newName;
    }

    public void setIdNum( String newId){
    idNum = newId;
    }
    }
    以上实例中public方法是外部类访问该类成员变量的入口。

    通常情况下,这些方法被称为getter和setter方法。

    因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。

    通过如下的例子说明EncapTest类的变量怎样被访问:

    /* F文件名 : RunEncap.java */
    public class RunEncap{

    public static void main(String args[]){
    EncapTest encap = new EncapTest();
    encap.setName(“James”);
    encap.setAge(20);
    encap.setIdNum(“12343ms”);

      System.out.print("Name : " + encap.getName()+ 
                             " Age : "+ encap.getAge());
    }
    

    }
    以上代码编译运行结果如下:

    Name : James Age : 20
    请加Q群(374308445) 群验证信息 【CSDN2】 获取免费的Java全套资料(同时本群还免费提供Dubbo、Redis、Netty、zookeeper,Spring,cloud、互联网分布式系统、高并发缓存架构、搜索引擎核心理、腾讯新闻网页版架构、阿里技术面试题、微服务等架构技术及源码解析,还有一些小型项目案例和基础资料和高清思维导图,不管是技术问题还是学习思路群里都有大神指导,大家一起交流讨论学习,一起进步。
    在这里插入图片描述

    展开全文
  • 今天小编就为大家分享一篇关于Java使用BigDecimal进行运算封装的实际案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • java线程池封装

    2018-05-24 16:48:03
    java线程池封装,可自定义线程优先级,使用方便。。。
  • Java在后台封装echarts显示的数据,平台是springMVC
  • java题库2

    千次阅读 2021-03-13 17:20:42
    5、Java中( C )。一个子类可以有多个父类,一个父类也可以有多个子类 一个子类可以有多个父类,但一个父类只可以有一个子类 一个子类可以有一个父类,但一个父类可以有多个子类 上述说法都不对6、下列说法正确的是( ...
  • java反射调用封装接口

    2016-09-01 12:57:24
    万能的反射封装接口,值得下载参考,当成util
  • 解决有java调用shell脚本需求的童鞋们,包含一些调用的测试方法,有问题可留言回复。
  • java增删改查JDBC封装类(泛型封装),这个是高度封装化的,增删改查,直接用到我的项目中去的。
  • 此Demo使用java编写,可以封装成jar方便各种项目分页功能,只需传参即可。简单来说,本人就是吧分页的功能独立成一个项目,主要类是PageUtil.java 此类封装分页逻辑,页面自动生成分页区,数据显示条数可自动以,...
  • 1.封装性  封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:  ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。  ◇信息...
  • Java封装自联表一对多

    2017-05-04 09:58:42
    Java封装自联表一对多

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,142,596
精华内容 457,038
关键字:

关于java封装

java 订阅