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 面向过程的程序设计方式,是遇到一 ...
随机推荐
- kettle(docker版)系列文章01---docker部署
1.准备好kettle的镜像文件放在指定目录解压 docker image load -i /home/pdi/jztwebspoon.tar 2.起容器 docker run -d -p 7777: ...
- Unity2019使用Android Studio 4出安卓包
前言 在我所经历的项目组中有这几种方法来生成APK 直接在Unity生成APK,可以接入SDK 使用Unity导出Android Studio工程手动生成APK 使用Unity导出Android St ...
- 3D圆饼图,可修改颜色,图片等,具体见代码:
组件代码: <template> <!-- 饼图 --> <div :id="histogramId" v-bind:style="{hei ...
- SpringBoot实现动态数据源配置
场景描述: 前一阵子接手的新项目中需要使用2个数据源. 一个叫行云数据库,一个叫OceanBase数据库. 就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办? 废话 ...
- C++ Qt开发:数据库与TableView多组件联动
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TableVi ...
- 4.1 C/C++ 使用结构与指针
C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...
- 苹果正在测试新款Mac mini:搭载M3芯片 配备24GB大内存
据悉苹果目前正在测试新的Mac机型,亮点是采用最新的M3芯片. 据报道,首款搭载M3芯片的设备应该是13英寸的MacBook Pro和重新设计的MacBook Air,Mac mini机型并不在名单上 ...
- 程序语言多态(overide) - delphi 版本
程序语言多态 - delphi 版本 前言: 所有程序语言都差不多,特写一篇 delphi 版本 的多态:其它语言 类同. 都是一些别人规定的语法而已,别人用一个下午设计一门语言,愚弄天下程序员一生: ...
- 全脸 苦思设计了半年的注册中心,与spring cloud 的做法 基本一致
早知道不去自己思考设计了,害死了不少脑细胞,物理层的东西,所有设计者的思路 都基本一致: 没有必要每个微服务都要做一次安全校验,一个物理集群,一个网关: 网关校验token后,把用户信息 保存到 ht ...
- NC23803 DongDong认亲戚
题目链接 题目 题目描述 DongDong每年过春节都要回到老家探亲,然而DongDong记性并不好,没法想起谁是谁的亲戚(定义:若A和B是亲戚,B和C是亲戚,那么A和C也是亲戚),她只好求助于会编程 ...