Java 面向对象的特征一: * 封装与隐藏
1 * @ 面向对象的特征一:
2 * 封装与隐藏
3 * 创建一个类的对象以后,我们可以通过“对象.属性”的方式,对
4 * 对象的属性进行赋值,这里,赋值操作要受到属性的数据类型和存储
5 * 范围的制约,除此之外,没有其它制约条件,但是,实际问题中,我
6 * 们往往需要给属性赋值加入额外的限制条件,这个条件不能再属性声
7 * 明时体现,只能通过方法进行限制条件的添加。如(setLegs())
8 *
9 * 同时,我们需要避免用户再通过 “对象.属性”的方式对属性进行赋值。
10 * 则需要经属性声明为私有的(private)
11 * --->此时 针对于属性就体现了封装性
12 *
13 * 封装性的体现
14 * 将类的属性(xxx)私有化(private),同时,提供公共的(public)方法来
15 * 获取(getXxx)和设置(setXxx)此属性的值
16 *
17 *
18 * 封装性的体现① 如上 ② 不对外暴露的私有方法 ③单例模式.......
19 *
20 *
21 * 三.封装性的体现,需要权限修饰符来配合。
22 * 1.Java规定的4中权限(从小到大):private 缺省 protected public
23 * 2.4中权限可以用来修饰类及类的内部结构:属性,方法,构造器,内部类
24 * 3.具体的 4中权限都可以修饰类的内部结构
25 * 修饰类的话 只能使用 缺省,public
26 */
27 public class AnimalTest
28 {
29 public static void main(String[] agrs)
30 {
31 //AnimalTest test = new AnimalTest();
32
33 Animal animal = new Animal();
34 animal.name="大黄";
35
36 animal.setAge(2);
37 //animal.legs = 4; //The field Animal.legs is not visible
38 //animal.eat();
39 animal.show();
40
41 //animal.legs=-4;
42 //animal.show();
43
44 //animal.setLegs(-5); //0
45 //animal.setLegs(5); //0
46 animal.setLegs(6); //6
47 animal.show();
48 // animal.getAge();
49 // animal.getLegs();
50
51
52
53 }
54 }
55
56
57 class Animal
58 {
59 String name;
60 private int age;
61 private int legs; //腿的个数
62
63 //对于属性的设置
64 public void setLegs(int l)
65 {
66 if(l>=0 && l%2==0)
67 {
68 legs = l;
69 }
70 else
71 {
72 legs =0;
73 //抛出一个异常
74
75 }
76 }
77
78 //对于属性的获取
79 public int getLegs()
80 {
81 return legs;
82 }
83
84 //设置 set
85 public void setAge(int a)
86 {
87 if(age>=0)
88 {
89 age = a;
90 }
91 else
92 {
93 age = 0;
94 }
95 }
96
97 //获取 get
98 public int getAge()
99 {
100 return age;
101
102 }
103
104
105
106 public void eat()
107 {
108 System.out.println("动物进食");
109 }
110
111 public void show()
112 {
113 System.out.println("name="+name+",age="+age+",legs="+legs);
114
115 }
116 }

Java 面向对象的特征一: * 封装与隐藏的更多相关文章
- 简述Java面向对象三大特征:封装、继承、多态
封装: 把对象的全部属性和服务结合在一起,形成不可分割的独立单位: 尽可能隐藏内部细节.(数据隐藏.隐藏具体实现的细节) public.private.protected.default pu ...
- Java学习:面向对象三大特征:封装、继承、多态之封装性
面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年 ...
- Java学习:面向对象三大特征:封装性、继承性、多态性之多态性。
面向对象三大特征:封装性.继承性.多态性之多态性. extends继承或者implemens实现,是多态性的前提. 例如:小菜是一个学生,但同时也是一个人.小菜是一个对象,这个对象既有学生形态,也有人 ...
- OOP面向对象 三大特征 继承封装多态
OOP面向对象 ----三大特征 继承封装多态 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构 ...
- 黑马程序猿——JAVA面向对象的特性:封装,继承,多态
- ----------android培训.java培训.java学习型技术博客.期待与您交流!------------ ...
- 面向对象三大特征之封装与static——(Java学习笔记四)
面向对象 编程本质:以类的方式组织代码,以对象的方式组织(封装)数据 对象:具体的事物,某个类的对象(实例) 类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念 对象和类的关系:特殊到一 ...
- Java面向对象的特征一:封装性
1.4 面向对象的特征一:封装性 当创建了类的对象以后,如果直接通过"对象.属性"的方式对相应的对象属性赋值的话,可能会出现不满足实际情况的意外,我们考虑不让对象来直接作用属性,而 ...
- JavaSE基础知识(5)—面向对象(5.4面向对象三大特征:封装、继承、多态)
面向对象编程具有三大特征: 封装 继承 多态 一.封装 1.好处 狭义的封装:也就是属性的封装,避免了任意赋值的危险,提高了数据的安全性! ①隐藏一个类中不需要对外提供的实现细节 ②使用者只能通过实现 ...
- Java面向对象和特征
面向对象: 概念: 面向对象是一种程序设计思想,计算机程序的设计实质上就是将现实中的一些事物的特征抽离出来描述成一些计算机事件的过程,这种抽象的过程中,我们把具体的事物封装成一个一个的整体进行描述,使 ...
- Java面向对象(类、封装)
面向对象 今日内容介绍 u 面向对象 u 封装 第1章 面向对象 1.1 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l 面向过程的程序设计方式,是遇到一 ...
随机推荐
- 【JS 逆向百例】W店UA,OB反混淆,抓包替换CORS跨域错误分析
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- 靠谱:开源IM项目OpenIM压测程序介绍-自己动手测试性能和稳定性
压测前准备 (一)服务端配置调整 config/config.yaml 以8核16G为例 (1)openImMessagePort: [ 10130, 10131, 10132, 10133, 101 ...
- Windows 核心编程笔记 [2] 字符串
1. ANSI 和 Unicode Windows 中涉及字符串的函数有两个版本 1)ANSI版本的函数会把字符串转换为Unicode形式,再从内部调用函数的Unicode版本 2)Unicode版本 ...
- c和c++开发工具之clion和vs
个人体验结果 如果是CMake或者要跨平台的话,建议使用CLion 像我在看书写练习题的话,Clion使用cmake编译c/c++源码更简单上手使用. 如果项目不大,两者都可以.如果关联子项目或第三方 ...
- 配置VSFTP文件服务器
FTP 文件传输协议.用于互联网上的控制文件的双向传输,使用FTP来传输时,其实是具有一定程度的危险性,因为数据在因特网上面是完全没有受到保护的明文传输方式,VSFTP是一个基于GPL发布的类Unix ...
- 使用 docker 部署 kafka
在很多时候我们需要使用到消息队列, 其中 kafka 是一个非常优秀的消息队列, 在我们平时开发中也经常会用到, 但是在开发环境中部署 kafka 是一个非常麻烦的事情 在 kafka 官网上, 有一 ...
- 递归锁和死锁(Python)
一.递归锁 # Lock :互斥锁 效率高 # RLock :递归(recursion)锁 效率相对低 在同一个线程中可以被acquire多次,如果想要释放锁,acquire多少次就要release多 ...
- Advanced Installer设置安装最后一步启动软件
左侧用户界面中选择对话框-ExitDialog 在完成操作项中勾选"安装结束时启动应用程序",在弹出的对话框中选择需要启动的exe文件
- Xcode常用环境变量与常见使用场景
在Xcode的工程配置中,与路径相关的都是使用环境变量,这样可以避免使用决定路径时项目移植性差的问题. Xcode常用宏 __FILE__ 当前文件所在目录 __DATE__ 编译日期的字符串,格式为 ...
- 【二叉树】二叉树的深度优先遍历DFS(前中后序遍历)和广度优先遍历BFS(层序遍历)详解【力扣144,94,145,102】【超详细的保姆级别教学】
[二叉树]二叉树的深度优先遍历(前中后序遍历)和广度优先遍历(层序遍历)详解[超详细的保姆级别教学] 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常 ...