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 面向对象的特征一: * 封装与隐藏的更多相关文章

  1. 简述Java面向对象三大特征:封装、继承、多态

    封装: 把对象的全部属性和服务结合在一起,形成不可分割的独立单位: 尽可能隐藏内部细节.(数据隐藏.隐藏具体实现的细节)     public.private.protected.default pu ...

  2. Java学习:面向对象三大特征:封装、继承、多态之封装性

    面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年 ...

  3. Java学习:面向对象三大特征:封装性、继承性、多态性之多态性。

    面向对象三大特征:封装性.继承性.多态性之多态性. extends继承或者implemens实现,是多态性的前提. 例如:小菜是一个学生,但同时也是一个人.小菜是一个对象,这个对象既有学生形态,也有人 ...

  4. OOP面向对象 三大特征 继承封装多态

    OOP面向对象 ----三大特征 继承封装多态 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构 ...

  5. 黑马程序猿——JAVA面向对象的特性:封装,继承,多态

                                           - ----------android培训.java培训.java学习型技术博客.期待与您交流!------------  ...

  6. 面向对象三大特征之封装与static——(Java学习笔记四)

    面向对象     编程本质:以类的方式组织代码,以对象的方式组织(封装)数据 对象:具体的事物,某个类的对象(实例) 类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念 对象和类的关系:特殊到一 ...

  7. Java面向对象的特征一:封装性

    1.4 面向对象的特征一:封装性 当创建了类的对象以后,如果直接通过"对象.属性"的方式对相应的对象属性赋值的话,可能会出现不满足实际情况的意外,我们考虑不让对象来直接作用属性,而 ...

  8. JavaSE基础知识(5)—面向对象(5.4面向对象三大特征:封装、继承、多态)

    面向对象编程具有三大特征: 封装 继承 多态 一.封装 1.好处 狭义的封装:也就是属性的封装,避免了任意赋值的危险,提高了数据的安全性! ①隐藏一个类中不需要对外提供的实现细节 ②使用者只能通过实现 ...

  9. Java面向对象和特征

    面向对象: 概念: 面向对象是一种程序设计思想,计算机程序的设计实质上就是将现实中的一些事物的特征抽离出来描述成一些计算机事件的过程,这种抽象的过程中,我们把具体的事物封装成一个一个的整体进行描述,使 ...

  10. Java面向对象(类、封装)

    面向对象 今日内容介绍 u 面向对象 u 封装 第1章 面向对象 1.1 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l 面向过程的程序设计方式,是遇到一 ...

随机推荐

  1. devDependencies和dependencies有何区别

    01==>devDependencies用于本地环境开发时候所需要的依赖包. 上线后就不在需要了: npm i webpack-cli -D --save-dev等价为-D 意思是安装到开发环境 ...

  2. 【springboot整合druid】java.sql.SQLException: url not set

    问题描述 未使用自动装配的机制,实现springboot整合druid时(就是使用druid的jar包,而不是druid-spring-boot-starter)报错 <dependency&g ...

  3. SqlSugar新增数据

    1.插入方式 1.1 单条插入实体 //返回插入行数 db.Insertable(insertObj).ExecuteCommand(); //都是参数化实现 //异步: await db.Inser ...

  4. Python xlwt数据保存到 Excel中以及xlrd读取excel文件画图

    1.方法一:xlwt 1.1 安装包 pip install xlwt 1.2 保存数据到 Excel import xlwt import numpy as np import random # 新 ...

  5. LyScript 寻找ROP漏洞指令片段

    ROP绕过片段简单科普一下,你可以理解成一个可以关闭系统自身内存保护的一段机器指令,这段代码需要我们自己构造,这就涉及到在对端内存搜寻这样的指令,LyScript插件增强了指令片段的查找功能,但需要我 ...

  6. centos编译安装tcpdump

    环境 CentOS Linux release 7.9.2009 (Core) 准备安装包 libpcap-1.5.3.tar.gz tcpdump-4.9.2.tar.gz 下载地址:https:/ ...

  7. 使用DoraCloud构建远程办公桌面云

    公司总部在上海.员工分布在各地.部分员工需要远程办公.为了实现远程办公,有几种备选方案. 方案1.在员工的PC上安装向日葵.ToDesk之类的远程工具. 方案2.公司总部提供VPN,员工通过VPN拨号 ...

  8. delphi 调试 原来可以这样 复制,不用点开 才能复制 对象的值

  9. .NET Core开发实战(第16课:选项数据热更新:让服务感知配置的变化)--学习笔记

    16 | 选项数据热更新:让服务感知配置的变化 选项框架还有两个关键类型: 1.IOptionsMonitor 2.IOptionsSnapshot 场景: 1.范围作用域类型使用 IOptinsSn ...

  10. 基于Doris构建亿级数据实时数据分析系统

    转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 背景 随着公司业务快速发展,对业务数据进行增长分析的需求越来越迫切,与此同时我们的业务数据量也在快速激增.每 ...