002.面向对象的三大特性之封装
2018-10-29 15:31:44来源:博客园 阅读 ()
1.封装是什么?以及为什么要进行封装?
通常情况下可以给成员变量赋值一些合法但不合理的数值,这种情况在编译阶段和运行阶段都不会报错或给出任何的提示信息,此数值虽然合法但与现实生活不符;为了避免上述问题的发生,就需要对成员变量进行密封包装处理来保证该成员变量的合法合理性,这种机制就叫做封装。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。
1 /* 2 编程实现Person类的封装 3 */ 4 public class Person{ 5 //1.私有化成员变量,使用private关键字修饰 6 private String name; 7 private int age; 8 private String country; 9 //使用static关键字修饰成员变量表示提升为类层级只有一份被所有对象共享 10 //public static String country; 11 12 //3.在构造方法中调用set方法进行合理值的判断 13 public Person(){ 14 } 15 public Person(String name, int age, String country){ 16 setName(name); 17 setAge(age); 18 setCountry(country); 19 } 20 21 //2.提供公有的get和set方法,在方法体中进行合理值的判断 22 public String getName(){ 23 return name; 24 } 25 public void setName(String name){ 26 this.name = name; 27 } 28 public int getAge(){ 29 return age; 30 } 31 public void setAge(int age){ 32 if(age > 0 && age < 150){ 33 this.age = age; 34 }else{ 35 System.out.println("年龄不合理!!!"); 36 } 37 } 38 public String getCountry(){ 39 return country; 40 } 41 public void setCountry(String country){ 42 this.country = country; 43 } 44 45 public void show(){ 46 System.out.println("我是" + getName() + ",今年" + getAge() + "岁了,来自" + getCountry() + "!"); 47 } 48 49 //自定义成员方法描述吃饭的行为 50 public void eat(String food){ 51 System.out.println(food + "真好吃!"); 52 } 53 //自定义成员方法描述娱乐的行为 54 public void play(String game){ 55 System.out.println(game + "真好玩!"); 56 } 57 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:github常用命令
- 通过与C++程序对比,彻底搞清楚JAVA的对象拷贝 2020-06-11
- Java笔记:集合 2020-06-10
- Java基础复习——类和对象 2020-06-09
- JSP九大内置对象 2020-06-07
- java对象指向问题 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash