一、    封装:
    属性通过private访问修饰符将其设置为私有的,只有当前类中可以访问,同时提供通过public访问修饰符的公共方法可以给任何类中访问。
    通常针对属性提供公共的setter方法进行赋值,提供公共的getter方法进行取值,若需要的情况下可以在方法中添加一些逻辑判断代码保证数据的安全性。
代码参见:
    com.oop.ch02.Dept
    com.oop.ch02.Emp
1、八种基本数据类型对应的有八种引用数据类型(包装数据类型),
    * byte short int long loat    double char boolean
     * Byte Short Integer   Long Float   Double   Character Boolean
    注:当基本数据类型的值转为引用数据类型的值(包装数据类型)时称为“自动装箱”,反之为“自动拆箱”。
2、实体需要满足的条件:
实体是一种特殊的Java类,主要用于对象模型和关系模型之间的关系传递的媒介,他要满足如下几个条件。
  1) 要有与数据表字段相对应的属性
  2) 提供属性对应的getter和setter方法
  3) 提供有参和无参的构造方法
  4) 重写toString()方法,方便在输出对象时以字符串的形式显示属性,方便我们调试程序。
二、 构造方法:
1、 为什么要使用构造方法:
      构造方法是用于创建对象的特殊方法,只有通过构造方法才能创建对象。
2、 构造方法的特点:
  a) 构造方法的名称必须与类名相同(首字母大写)
  b) 构造方法不能写返回值类型,也不能写void
  c) 构造方法也可以重载
  d) 当定义一个类时,他就有一个默认不带参数的构造方法,但当定义了带参数的构造方法后,他就会自动消失,
      因此当定义了带参数的构造方法的时候,都需要再定义一个带参数的构造方法。
三、 方法的重载(Overload):和参数有关,与返回值无关
  方法名称相同,参数不同的方法称为重载的方法,参数不同指的是参数的“类型”、“个数”、“顺序”不同,因为系统在比较时是“按位比较”的。
重载是发生在同一个类的多个方法之间,重写(override)是发生在多个类的方法之间。   重写是子类方法重写父类的方法,重写的方法名不变,而类的构造方法名必须与类名一致,假设父类的构造方法如果能够被子类重写则子类类名必须与父类类名一致才行,
  所以 Java 的构造方法是不能被重写的。而重载是针对同一个类的,所以构造方法可以被重载。     重写是父子之间的关系,重载发生在同一个类中。 四、 This关键字:
  This是第一人称代词,当一个对象在调用某个属性或者方法时,this表示该对象(Dept)本身,通过this就能区分不同对象拥有的属性或方法。
五、 Static关键字:
    1、Static是“静态的“,可以修饰类、属性、方法、代码块。
    2、使用static修饰的属性和方法是类级别的,可以通过“类名.属性名“或”类名.方法名“直接访问静态属性或静态方法。
    3、在静态方法或静态代码块中只能访问静态的属性或静态的方法,而不能访问非静态的属性或非静态的方法,
      但非静态的方法中既可以访问静态的属性和静态的方法,也可以访问非静态的属性或非静态方法。
    4、Static修饰的代码块称为静态代码块,是在类被加载时会自动调用一次;而构造方法是在每创建一个对象时都会被调用一次。
    5、static可以定义静态常量,该常量是变量的一种特例,他的值必须在定义时就赋值,以后就不能再被更改。
六、 Final关键字:
  Final是“最终“的意思,final修饰类表示该类不允许其他类来继承;
  final修饰属性(成员变量)表示该变量是一个常量,它的值不允许再改变;
  final修饰方法表示该方法不能被重写。
七、 成员变量和局部变量:
  成员变量:定义在类中方法外的变量,从范围上来说是该类中所有方法都能访问的变量;成员变量在定义时可以不赋值,系统会自动根据类型赋默认值。
局部变量:定义在类的方法之中的变量,从范围上来说只有本方法才能访问的变量;局部变量在定义时可以不赋值,但在使用前必须要赋值。

java OOP第二章_封装的更多相关文章

  1. Java OOP——第二章 继承

    1. 继承: ●继承是面向对象的三大特征之一,是JAVA实现代码重用的重要手段之一: ●继承是代码重用的一种方式,将子类共有的属性和行为放到父类中: ●JAVA只支持单继承,即每一个类只有一个父类,继 ...

  2. “全栈2019”Java多线程第二章:创建多线程之继承Thread类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. “全栈2019”Java异常第二章:如何处理异常?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  4. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  5. Java编程思想_笔记_第二章_一切都是对象

    第二章对于知识只是点到,会在以后章节会详细展开. 笔记的侧重会偏向记录自己知识模糊的地方.比如 xxx 很重要很难很实用,但是已经熟练使用就没有记录,而 “使用对象.成员名称来使用成员变量”,较简单而 ...

  6. 深入理解java虚拟机_第二章_读书笔记

    1.本章内容目录: 概述 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存 HotSpot虚拟机对象探秘 对象的创建 对象的内存布局 对象的访问定位 ...

  7. Java OOP——第一章 对象和封装

    1.软件出现的目的: 用计算机的语言描述现实世界 用计算机解决现实世界的问题   ◆面向对象设计和开发程序的好处:    交流更加流畅    提高设计和开发效率 计算机语言的发展向接近人的思维方式演变 ...

  8. JAVA 入门第二章 (面对对象)

    本渣渣鸽了一个月终于有时间更新.因为有c++基础,学起来这章还是比较简单的,本章我觉得是程序猿质变课程,理解面向对象的思想,掌握面向对象的基本原则以及 Java 面向对象编程基本实现原理,熟练使用封装 ...

  9. Upgrading to Java 8——第二章 Method References(方法引用)

    概述 很多java 方法会使用函数式接口作为参数.例如,java.util.Arrays类中的一个sort方法,就接受一个Comparator接口,它就是一个函数式接口,sort方法的签名如下: pu ...

随机推荐

  1. Tomcat运行错误示例

    tomcat运行错误示例 当出现这种错误时,如果是自己配置的tomcat,需要找/conf/server.xml文件. 如果是使用的eclipse tomcat 插件,需要在你的工作空间 找到 如下文 ...

  2. PHP面试 PHP基础知识 三(运算符)

    PHP运算符 PHP的运算符的错误控制符@ PHP支持一个错误运算符:@.当将其放在一个PHP表达式之前,该表达式可能产生的任何错误信息都将会被忽略掉. PHP运算符 运算符的优先级 着重记忆运算符 ...

  3. sed use case: Filter without editing

    if we want to filter with sed pattern and just print the filtered lines without any further editing ...

  4. vue富文本vue-quill-editor

    这个富文本需要装一下插件 "quill": "^1.3.6" "quill-image-drop-module": "^1.0.3 ...

  5. centos7.4 系统优化

    static 表示该服务与其他服务相关联,不能单独设置该服务的启动状态 disabled 表示禁止开机启动 enabled 表示允许开机启动 auditd.service enabled autovt ...

  6. js基本包装类型

    基本包装类型   3种特殊的引用类型 为了便于操作基本类型值,es还提供了3种特殊的引用类型: Boolean,Number,String. 每当读取一个基本类型值的时候,后台就会创建一个对应的基本包 ...

  7. gitnore文件修改生效方法

        本文首发于cartoon的博客     转载请注明出处:https://cartoonyu.github.io/cartoon-blog 当修改gitnore文件后,常常出现文件不生效的情况, ...

  8. html5本地存储(二)--- SQLList

    html5内置了2种本地数据库,一是被称为“SQLLite”,可以通过SQL语言来访问文件型SQL数据库.二是被称为“indexedDB” 的NoSQL类型的数据库 这篇主要讲SQLLite 在js中 ...

  9. webstorm/vs取消eslint

    vs ——preference ——setting,添加"eslint.enable": false webstorm ——setting ——language ——javascr ...

  10. Pregel Combiner