java语言中封装类代码示例

 更新时间:2018年01月03日 10:15:02   作者:ttxxly  
这篇文章主要介绍了java语言中封装类,涉及相关代码示例及结果分析,以及封装的好处简单介绍,具有一定借鉴价值,需要的朋友可以参考下

在面向对象程序设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装‘隐藏起来的方法。数据被保护在内部,隐藏内部实现细节,对外提供接口与外部交互。

使用封装的步骤

将类的所有属性使用关键字private去修饰,把它们变成私有的,不允许外部类直接访问
生成或者提供公共的setter/getter方法去操作这些被隐藏起来的属性
在类自己的 setter/getter方法中加入逻辑控制,以确保数据访问的有效性和安全性实例

让我们来看一个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

使用封装的好处

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

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

3、可以对成员进行更精确的控制。

4、隐藏信息,实现细节

总结

以上就是本文关于java语言中封装类代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • Elasticsearch写入瓶颈导致skywalking大盘空白

    Elasticsearch写入瓶颈导致skywalking大盘空白

    这篇文章主要为大家介绍了Elasticsearch写入瓶颈导致skywalking大盘空白的解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • MyBatis如何配置多sql脚本执行

    MyBatis如何配置多sql脚本执行

    这篇文章主要介绍了MyBatis如何配置多sql脚本执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • springBoot详细讲解使用mybaties案例

    springBoot详细讲解使用mybaties案例

    MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架
    2022-05-05
  • Springboot整合mybatis的步骤

    Springboot整合mybatis的步骤

    这篇文章主要介绍了Springboot整合mybatis的步骤,帮助大家更好的理解和学习使用
    2021-04-04
  • 全解析Spring Cloud之负载均衡之LoadBalance

    全解析Spring Cloud之负载均衡之LoadBalance

    这篇文章主要介绍了全解析Spring Cloud之负载均衡之LoadBalance的相关资料,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-05-05
  • json转换成java对象示例

    json转换成java对象示例

    这篇文章主要介绍了json转换成java对象示例,需要的朋友可以参考下
    2014-04-04
  • Eclipse中maven的配置详解

    Eclipse中maven的配置详解

    这篇文章主要介绍了Eclipse中maven的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 浅谈MyBatis循环Map(高级用法)

    浅谈MyBatis循环Map(高级用法)

    这篇文章主要介绍了浅谈MyBatis循环Map(高级用法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • java使用xfire搭建webservice服务的过程详解

    java使用xfire搭建webservice服务的过程详解

    这篇文章主要介绍了java使用xfire搭建webservice服务的过程。使用xfire搭建webService的服务,可以在浏览器访问。对此感兴趣的可以了解一下
    2020-07-07
  • Mybatis执行Update返回行数为负数的问题

    Mybatis执行Update返回行数为负数的问题

    这篇文章主要介绍了Mybatis执行Update返回行数为负数的问题,具有很好的参考价值,希望大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论