先来个例子看看;

public class Man

{

//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性

private String name;

private int age;

private Woman wife;

//对改人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄

public void setWife(Woman wife)

{

this.wife = wife;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public int getAge()

{

return age;

}

public void setAge(int age)

{

this.age = age;

}

}

public class Woman

{

//属性封装

private String name;

private int age;

private Man husband;

//方法封装

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public int getAge()

{

return age;

}

public void setAge(int age)

{

this.age = age;

}

public Man getHusband()

{

return husband;

}

public void setHusband(Man husband)

{

this.husband = husband;

}

}

/**

* 仔细看就会发现,Man类没有提供getWife的方法,这是以为男人不想让自己的妻子被外界访问,

*

* 直接下来呢,就是封装可以吧一个对象的属性私有,而提供一些可以被外界访问的属性的方法,

*

* 比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改

*

* 同时对一些改对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法

*

* 外界是不能带到Man类的wife属性的

*

*/

上面那例子可能没有突出封装的好处,下面来个超简单的表达下:

public class Show

{

public static void show(String str)

{

System.out.println(str);

}

}

上面就是对 System.out.println();的封装。

调用的时候 :

public class Use

{

public static void main(String[] args)

{

Show.show("封装");

}

}

这样用的时候就不用使:System.out.println("封装");

如果还有地方用到, 就省去了好多 System.out.println();

简而言之,有一段代码,如果3个程序要用它,你不封装,那你就得在这3个程序里都要写,浪费代码,浪费时间。

java封装的简单例子_Java封装的简单例子相关推荐

  1. 用java定义图书book类_Java封装图书信息类

    了解上节有关封装的知识后,本节通过完整的例子再次实现封装.要求编写表示图书的 Book 类,实现以下需求: 基本信息包括图书名称(bookName).总页数(pagelbtalNum),其中页数不能少 ...

  2. java中封装日期加时间_java日期处理简单封装

    1 packageluojing.date;2 3 importjava.io.Serializable;4 importjava.text.ParseException;5 importjava.t ...

  3. java if打折怎么算_Java封装商场打折策略(Strategy模式)

    有了OO的基础后,开始认真学习设计模式. 首先学习的是Strategy,下面就封装商场打折策略来分析下策略模式是怎样一回事. 商场每逢节假日都会对不同的商品采用不同的打折策略,首先卖苹果的说我的苹果要 ...

  4. java高清截屏_java截屏简单例子

    java截屏*运行后将当前屏幕截取,并最大化显示.*拖拽鼠标,选择自己需要的部分.*按Esc键保存图片到桌面,并退出程序.*点击右上角(没有可见的按钮),退出程序,不保存图片.importjava.a ...

  5. java繁体转简体包_Java封装简体繁体(香港台湾)转换工具

    简体繁体转换 新建工具类:HKTWwordVO import java.io.BufferedReader; import java.io.FileNotFoundException; import ...

  6. java ajax简单实例_JAVA编写的AJAX例子,很简单,但是很容易理解详解

    非原创,但是从哪来的我也忘了,呵呵! window.onload = function() { CreateDateSelect(); } var xmlHttp = false; var e; // ...

  7. java 简单万年历_JAVA实现的简单万年历代码

    本文实例讲述了JAVA实现的简单万年历.分享给大家供大家参考,具体如下: import java.util.Scanner; public class PrintCalendar { public s ...

  8. java 序列化 例子_Java序列化和反序列化例子

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段.@H_502_1@ 编程之家小编现在分享给大家,也给大家做个参考.@H_502_1@ /** * 对象序列化与反序列化 * */ impor ...

  9. java操作redis的操作_Java操作redis简单示例

    第一:安装Redis 首先我们要安装Redis,就像我们操作数据库一样,在操作之前肯定要先创建好数据库的环境. Redis的下载可以百度一下,或者打开下面的下载链接: https://github.c ...

最新文章

  1. Java项目:旅游网站管理系统设计和实现(java+springboot+jsp+mysql+spring)
  2. linux下字符串处理工具二:awk(1)
  3. mysql用户的创建和授权_MySQL用户创建和授权
  4. gin路由打开html页面,Gin(二):使用路由
  5. [原创]某页网付费简历模板下载方法
  6. 强制解除占用端口,最快速方便的解除占用端口,端口占用解决方案大全
  7. 通讯系统经验谈【一】TCP连接状态分析:SYNC_RECV,CLOSE_WAIT,TIME_WAIT
  8. 【CV】相对位姿估计的进展和新方法
  9. AbstractQueuedSynchronizer理解之三(Semaphore)
  10. leedcode344. 反转字符串
  11. R语言基础入门(4)之数据类型与相应运算2
  12. 【原创】FlashFXP_4.0.0.1510 值得研究
  13. minHash最小哈希原理
  14. python problem
  15. 哄女票超简单程序代码(日常小惊喜)
  16. 如何把 Excel 写入数据库
  17. html截取视频片段,格式工厂怎么截取视频片段
  18. 【小教程】Ubuntu ASF steam自动挂卡
  19. wishbone bus
  20. Winter And Snowmen

热门文章

  1. converge和gtsuite联合仿真
  2. C/C++之strtol函数详解
  3. c/c++游戏编程之控制台贪吃蛇(二)
  4. 中文互联网巨头间的混战
  5. matlab遗传算法中的变异操作,遗传算法流程图?遗传算法的基本原理?遗传算法 交叉和变异?简单遗传算法MATLAB实现(4)...
  6. 【后端】Java根据日期获取哪年的第几季度
  7. 数控激光切割机,数控激光切割机的用途
  8. 名帖214 赵孟頫 行书《朱子感兴诗并序》
  9. c语言编译器半天不出结果,C语言之编译器引出的常见问题
  10. 烽火通信2017 校招 软件工程师 CT扫描