Java核心技术第四章——1.封装性】的更多相关文章

封装性(有时称为数据隐藏): 实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域值.程序仅通过对象的方法与对象的数据进行交互. 给对象赋予了"黑盒"的特征,提高了重用性和可靠性.简而言之,就是只需知道方法对应的作用,而不必了解它的具体实现过程. 有些时候,需要获得或设置实例域的值,应该提供下面三项内容: 1.一个私有的数据源: 2.一个公有的域访问器方法 3.一个公有的域更改器方法 私有的数据域: 私有数据域即写在全局的私有变量或常量.私有数据域要比公有数据域要复杂,因为需…
final实例域 实例域(对象的属性)可修饰为final.修饰为final后,在构建对象时必须初始化这个实例域.若没有在实例域进行初始化,那么必须在每个构造器内初始化这个实例域(否则会编译错误). 表明在后面的操作中,不能够再对它进行修改.即没有对应的域更改器(set)方法. final修饰大部分都是应用于基本类型域(基本数据类型)或者不可变类的域(例如:String类),若修饰可变的类,可能会对读者造成混乱. 静态域与静态方法 static 静态域 static修饰的属性称为静态域,它是属于类…
4.1面向对象程序设计概述 OOP(面向对象编程Object Oriented Programming) OOP中数据第一位,算法第二位. 类 封装:关键在于不能让其他方法直接访问类的实例域,程序仅通过对象的方法与对象交互. 实例域:对象中的数据. 对象 对象的三个主要特性: 对象的行为:可以对对象施加哪些方法. 对象的状态:对于每个特定对象都有一组特定的实例域值,这些值的集合就是对象的当前状态. 对象标识:如何辨别具有相同行为与状态的不同对象??? 类之间最常见的三种关系 依赖(uses-a)…
重载: 如果多个方法(包含构造方法)有相同的名字.不同的参数,便产生重载.编译器必须挑选出具体执行哪个方法,它通过用各个方法给出的参数类型与特定方法调用所使用的值类型进行匹配挑选出相对应的方法. 如果编译器找不到匹配的参数,就会产生编译时错误.(此过程称为重载解析)   注意:方法的返回类型并不属于重载的条件,因为不能有两个名字相同.参数相同而返回类型不同的方法.否则会编译报错.我大学就是傻逼逼的一直把返回类型当做重载条件的一部分. 重载例子如下: public class OverLoadin…
继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译器将查看调用方法提供的参数类型(args). 3.根据参数类型匹配所有名为Method的方法. 4.如果编译器没有找到与参数类型匹配的方法,或者发现经过类型转换后有多个方法与之匹配,就会报告一个错误. 7.阻止继承:final类和方法. 1.final类:当你不希望别人利用某个类定义子类.那么则使用…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第四章:设置和获取线程名称 下一章 "全栈2019"Java多线程第五章:线程睡眠sleep()方法详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Jav…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第四章:catch代码块作用域详解 下一章 "全栈2019"Java异常第五章:一定会被执行的finally代码块 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第九十四章:局部内部类详解 下一章 "全栈2019"Java第九十五章:方法中可以定义静态局部内部类吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第十四章:二进制.八进制.十六进制 下一章 "全栈2019"Java第十五章:Unicode与转义字符 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十四章:流程控制语句中决策语句switch下篇 下一章 "全栈2019"Java第二十五章:流程控制语句中循环语句while 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复…