本章学习要点:

      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基础-类封装性的更多相关文章

  1. Java面向对象(封装性概论)

     Java面向对象(封装性概论) 知识概要:                   (1)面向对象概念 (2)类与对象的关系 (3)封装 (4)构造函数 (5)this关键字 (6)static关键 ...

  2. 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...

  3. java面向对象之封装性

    面向对象的特征之一:封装和隐藏: 一.问题的引入: 当创建一个类的对象以后,可以通过“对象.属性”的方式,对对象的属性进行赋值.这里,赋值操作要受属性的数据类型和存储范围的制约.除此之外,没有其他制约 ...

  4. C++基础——类封装简单示例

    一.前言 在IC前端设计/验证领域,只会HDL远远不够.目前大多数项目使用已开发好的系统架构和IP Core,因此设计部分的工作量慢慢向系统集成和验证方向转移.而在集成和验证过程中,往往以各种脚本和面 ...

  5. Java基础之封装

    封装(Encapsulation)是java面向对象的三大特性,之前学java迷迷糊糊,一直也没弄清楚什么是封装以及为什么要封装,直到这次看书才有一种被点醒的感觉. java中的封装是针对某个类而言的 ...

  6. Java 基础-类与面向对象

    类 Object 类(java.lang.Object)是所有 Java 类的直接或间接父类. 成员方法及变长参数 方法定义: [public | protected | private] [stat ...

  7. 【Demo 0005】Java基础-类继承性

    本章学习要点:       1.  了解Java继承特性;       2.  掌握继承实现方法;       3.  掌握override规则: 一.类继承特性       1.  继承定义:使用己 ...

  8. 【Demo 0007】Java基础-类扩展特性

    本章学习要点:        1.  掌握static 修饰的类,方法以及变量的功能及用法;        2.  掌握代码块(静态,非静态)的作用以及注意事项:        3.  了解基本数据类 ...

  9. 【Demo 0006】Java基础-类多态性

    本章学习要点:       1.  了解Java多态特性;       2.  掌握Java多态的实现: 一.多态特性       1.  定义:            指同一个对象调用相同的方法实现 ...

随机推荐

  1. Ganglia 权威指南-安装Ganglia过程

    转自于:http://blog.csdn.net/xxd851116/article/details/21527055 http://www.dataguru.cn/article-3816-1.ht ...

  2. stm32内部的CAN总线

    功能概述: bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B:它的设计目标是以最小的CPU负载来高效处理大量的报文.它也支持报文发送的优先级 ...

  3. UItableViewCell上的button点击无响应的办法

    由于IOS7中添加了滑动后出现编辑按钮的操作,所以使用scrollView来处理,UITableViewCellScrollView有对触摸的相应处理,导致按钮的点击效果被屏蔽了,但是点击事件还是在的 ...

  4. Collections.sort方法对list排序的两种方式

    Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 . 规则用来判断对象,算法则考虑如何进行排序 对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定 ...

  5. 【linux驱动笔记】linux模块机制浅析

      1.   模块module 操作系统分微内核和宏内核,微内核优点,可以使操作系统仅作很少的事,其它事情如网络处理等都作为应用程序来实现,微内核精简的同时,必然带来性能的下降.而linux的宏内核设 ...

  6. 暴力或随机-hdu-4712-Hamming Distance

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4712 题目大意: 求n个20位0.1二进制串中,两两抑或最少的1的个数. 解题思路: 两种解法: 1 ...

  7. 【Unity技巧】使用单例模式Singleton

    这几天想把在实习里碰到的一些好的技巧写在这里,也算是对实习的一个总结.好啦,今天要讲的是在Unity里应用一种非常有名的设计模式——单例模式. 开场白 单例模式的简单介绍请看前面的链接,当然网上还有很 ...

  8. Android异步载入全解析之使用多线程

    异步载入之使用多线程 初次尝试 异步.异步,事实上说白了就是多任务处理.也就是多线程执行.多线程那就会有各种问题,我们一步步来看.首先.我们创建一个class--ImageLoaderWithoutC ...

  9. ASP.NET - Eval使用自定义的方法

    <asp:Repeater ID="rep_allnews" runat="server"> <ItemTemplate> <tr ...

  10. sql:oracle, CURSOR

    CursorsYou use a cursor to fetch rows returned by a query. You retrieve the rows into the cursor usi ...