【JAVA】35、面向对象的封装性(上)
2016-03-10 12:54
351 查看
本篇博文最后修改时间:2016年3月10日,12:55。
一、简介
本篇介绍面向对象的封装性。
二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。
三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato
联系方式:315878825@qq.com
Java零基础入门交流群:541462902
四、面向对象的封装性
范例1:观察以下程序的问题
观察发现:
1、运行结果:-30岁不合理,类中声明属性时,应该设置条件。
2、对象直接访问类中的属性,这在面向对象法则中是不允许的。
为此,在一般的开发中往往要将类中的属性封装(private)
使用封装性格式:
范例2:为程序加上封装属性
范例1与范例2的区别在于关键字private,加入该关键字后,原程序无法编译。
这是因为private对属性进行了封装,所以不能由对象直接访问。
有了private后,就可以保证对象无法直接访问类的属性。
为了解决属性必须封装,又必须访问的矛盾,便需要用到setter和getter方法设置和取得。
具体内容在下篇继续讲解。
一、简介
本篇介绍面向对象的封装性。
二、实验平台
系统版本:Windows7 家庭普通版 32位操作系统。
三、版权声明
博主:思跡
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.net/omoiato
联系方式:315878825@qq.com
Java零基础入门交流群:541462902
四、面向对象的封装性
范例1:观察以下程序的问题
class Person { String name; //声明姓名属性 int age; //声明年龄属性 public void tell() //取得信息的方法 { System.out.println("姓名:" + name + "年龄:" +age); } } public class EncDemo01 { public static void main(String[] args) { Person per = new Person(); //声明并实例化对象 per.name = "张三"; //为name属性赋值 per.age = -30; //为age属性赋值 per.tell(); //调用方法 } }程序运行结果:
观察发现:
1、运行结果:-30岁不合理,类中声明属性时,应该设置条件。
2、对象直接访问类中的属性,这在面向对象法则中是不允许的。
为此,在一般的开发中往往要将类中的属性封装(private)
使用封装性格式:
为属性封装:private 属性类型 属性名称; 为方法封装:private 方法返回值 方法名称(参数列表) { ... }
范例2:为程序加上封装属性
class Person { private String name; //声明姓名属性 private int age; //声明年龄属性 public void tell() //取得信息的方法 { System.out.println("姓名:" + name + "年龄:" +age); } } public class EncDemo02 { public static void main(String[] args) { Person per = new Person(); //声明并实例化对象 per.name = "张三"; //为name属性赋值 per.age = -30; //为age属性赋值 per.tell(); //调用方法 } }程序运行结果:
范例1与范例2的区别在于关键字private,加入该关键字后,原程序无法编译。
这是因为private对属性进行了封装,所以不能由对象直接访问。
有了private后,就可以保证对象无法直接访问类的属性。
为了解决属性必须封装,又必须访问的矛盾,便需要用到setter和getter方法设置和取得。
具体内容在下篇继续讲解。
相关文章推荐
- 并归排序算法java实现
- 释疑:抽象的父类无参构造函数运行范例
- java 自定义注解解析 模拟Hibernate 的ORM
- jdk动态代理解析
- 学习之spring注解DI疑惑
- Java中Properties类
- springmvc学习笔记(10)-springmvc注解开发之商品修改功能
- Java的注解与使用
- maven 制作 alipay-sdk-java包到本地仓库
- springmvc学习笔记(9)-springmvc整合mybatis之controller
- Java 线程池的使用
- [疯狂Java]AWT剪切板:剪切板概念、文本传递
- Spring 实战 第二章 组装Bean
- Java 压缩图片
- javamail 进行邮件发送时报错
- 【SSH (四)】管理struts2的配置文件
- SpringMVC中四个基本注解
- Java 逆变、协变和类型擦除
- Struts2笔记
- Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)