【Demo 0004】Java基础-类封装性
本章学习要点:
1. Java封装特性;
2. 掌握类的定义;
3. 掌握类的调用方法;
一、封装特性
Java 纯面向对象语言,面向对象语言遵循有三种基本特性,封装,继承,多态;所有的特性都围绕着类展开发,类是对现实世界中事物的抽象描述。本章先学习封装特性
1. 类 - 将现实事物(人)或虚拟事件(银行账户)进行抽象,在Java通过类来描述,事物的属性和行为; 如:
a. 人 - 现实中的具体事物,它由身高,体重,性别,年龄等属性,同时还拥有:运动,思维,说话,吃饭等行为特性; 因而面向对象可这么定义:

b. 银行账户 - 现实中的虚拟事物,它由账号代码,姓名属性,也还用:存款,取款的行为;

以上通过UML图描述了类的定义,图中有三项,第一项代表类名,第二项为类属性成员,第三项为类行为或成员方法; 第二项和第三项中重前面有-、 +符号,表达类的访问性;
Java 中类成员(属性,方法)具体四成访问性:私有, 默认,保护,公有;
私有 - 只能被类自身成员访问;成员定义前加 private;
默认 - 只能同一Java包中的类访问;成员定义前没有访问关健字;
保护 - 只能类自身或子类成员访问;成员定义前加protected;
公有 - 被项目只任何地方访问;成员定义前加public;
Java 正是通过以上访问权限实现数据的封装和隐藏;
2. 对象 - 某种一种类型具体实例,此对象被构建后拥有独立的内存空间来存储所属性和方法;
如: 张三 为人类的一个具体的实例,拥有其自身的姓名,身体,年龄和性别;
二、类的定义方法
语法:
[类访问权限] class 类名 {
[成员访问权限] 类型 成员变量名;
[成员访问权限] 类型 成员方法名(参数类型 参数名) {
方法功能代码;
}
}
例:
class Person {
private double height;
private int age;
private boolean sex;
public void eat() {
System.out.println("喜欢吃水果");
}
}
三、类调用方法
类实例化方法
public class TestDemo {
public void main(String[] args) {
Person zhangShan = new Person(); // 实例化Person类,创建一个zhangShan的对象,他
// zhangShan.height = 100; height 为私有的,外部类不能访问;
zhangShan.eat();
}
}
【Demo 0004】Java基础-类封装性的更多相关文章
- Java面向对象(封装性概论)
Java面向对象(封装性概论) 知识概要: (1)面向对象概念 (2)类与对象的关系 (3)封装 (4)构造函数 (5)this关键字 (6)static关键 ...
- 第31节:Java基础-类与对象
前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...
- java面向对象之封装性
面向对象的特征之一:封装和隐藏: 一.问题的引入: 当创建一个类的对象以后,可以通过“对象.属性”的方式,对对象的属性进行赋值.这里,赋值操作要受属性的数据类型和存储范围的制约.除此之外,没有其他制约 ...
- C++基础——类封装简单示例
一.前言 在IC前端设计/验证领域,只会HDL远远不够.目前大多数项目使用已开发好的系统架构和IP Core,因此设计部分的工作量慢慢向系统集成和验证方向转移.而在集成和验证过程中,往往以各种脚本和面 ...
- Java基础之封装
封装(Encapsulation)是java面向对象的三大特性,之前学java迷迷糊糊,一直也没弄清楚什么是封装以及为什么要封装,直到这次看书才有一种被点醒的感觉. java中的封装是针对某个类而言的 ...
- Java 基础-类与面向对象
类 Object 类(java.lang.Object)是所有 Java 类的直接或间接父类. 成员方法及变长参数 方法定义: [public | protected | private] [stat ...
- 【Demo 0005】Java基础-类继承性
本章学习要点: 1. 了解Java继承特性; 2. 掌握继承实现方法; 3. 掌握override规则: 一.类继承特性 1. 继承定义:使用己 ...
- 【Demo 0007】Java基础-类扩展特性
本章学习要点: 1. 掌握static 修饰的类,方法以及变量的功能及用法; 2. 掌握代码块(静态,非静态)的作用以及注意事项: 3. 了解基本数据类 ...
- 【Demo 0006】Java基础-类多态性
本章学习要点: 1. 了解Java多态特性; 2. 掌握Java多态的实现: 一.多态特性 1. 定义: 指同一个对象调用相同的方法实现 ...
随机推荐
- UNIX环境高级编程——网络基础概念
TCP协议分成两个不同的协议: 1.网络传输中差错的传输控制协议TCP 2.专门负责对不同网络进行互联的互联网协议IP 网络体系结构概念: 网络体系结构即是指网络的层次结构和每层所使用协议的集合 OS ...
- Axis2(9):编写Axis2模块(Module)
Axis2可以通过模块(Module)进行扩展.Axis2模块至少需要有两个类,这两个类分别实现了Module和Handler接口.开发和使用一个Axis2模块的步骤如下: 1. 编写实现Module ...
- [置顶] 深入浅出MongoDB(三)环境搭建
上次的博文深入浅出MongoDB(二)概述中我们已经将MongoDB的相关概念讲解了一下,接下来我们继续进行MongoDB学习.在学习之前,大家首先需要在自己的电脑上安装MongoDB. 1.安装 安 ...
- 架构漫谈:自己开发一个Log框架
前言 在日常开发中我们常常都会用到写日志的功能,现在网上的写Log的框架有很多,但是对于我个人而言,过于庞大:我们往往只为了使用框架中的某一个功能就不得不引用整个框架. 所以,我们今天就来自己动手开发 ...
- 【译】在Asp.Net中操作PDF – iTextSharp-列表
原文 [译]在Asp.Net中操作PDF – iTextSharp-列表 在前文中,我们已经知道了如何利用iTextSharp创建PDF文档,设置字体样式和风格.本文开始讲述iTextSharp中的有 ...
- 用ATL写简单的ActiveX控件 .
我正在做的项目需要用读卡器来读数据,由于系统是B/S架构的所以只能把读卡器的驱动封装成一个无界面的ActiveX控件,这样web页面中的js代码才能访问读卡器其实做起来也挺简单的,我用的环境是VS20 ...
- codeforces 487E Tourists
如果不是uoj上有的话(听说这是China Round),我有可能就错过这道题目了(这是我有史以来为oi写的最长的代码,用了我一天TAT!). 题目 传送门. 一个连通无向图,点上有权,支持两种操作: ...
- Swift - 网络请求报App Transport Security has blocked a cleartext错
使用Xcode7编写iOS9应用时,如果获取http://数据时会报如下错误: App Transport Security has blocked a cleartext HTTP (http:// ...
- 立贴读 《CLR》
弱弱的说,我要开始读<CLR>这本书了,怕自己不能坚持下来,特立贴监督自己,本来是大牛们涉及的区域,现在好朋友的鼓励下,勇敢的踏入,如有错误,还请各位指正.
- Sed常用实例总结
[Sed简介] sed是一个文件处理工具,本身是一个管道命令,主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等.sed以行为单位,一次处理一行内容,处理时,把当前处理的行存储在临时 ...