前  言 JRedu 上一篇博客中,我们介绍了JS中的面向对象,并详细的解释了this的指向问题.本篇博客,我们继续来学习JS的面向对象.来深入理解一下JavaScript OOP中的成员属性/方法.静态属性/方法.原型属性/方法,并且一起来探讨一下JS中的原型与原型链. 一 成员属性与成员方法 在构造函数中,通过this.属性声明.或者实例化出对象后,通过“对象.属性”追加的.都属于成员属性.或成员方法:也叫实例属性与实例方法 成员属性/方法,是属于实例化出的这个对象.通过"对象.属性&q…
学而不思则罔,思而不学则殆 前言 大家都用过Spring的@Value("xxx")注解,如果没有debug过源码的同学对这个操作还是一知半解,工作一年了学了反射学了注解,还是不会自己手撸一个注解对属性赋值的操作.今天就用几分钟时间给你讲明白这个如何实现! 理想中代码: @Compant public class Bean01 { @MyValue("张三") //自定义注解 String name; } 如果学过反射,获取类属性上面的自定义注解对象简直太简单,那怎…
* ①默认初始化 * ②显式初始化/⑤在代码块中赋值 * ③构造器中初始化 * ④有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * * 执行的先后顺序:① - ② / ⑤ - ③ - ④…
面向对象(Object Oriented) Java支持面向对象三大特性:封装.继承.多态.(抽象)1.封装(Encapsulation)封装:隐藏对象内部的复杂性,只对外公开简单的接口.便于外界调用,从而提高系统的可扩展性.可维护性.通常有两种访问方式:set 设置,get 获取.程序设计要追求“高内聚,低耦合”• 高内聚 :就是类的内部数据操作细节自己完成,不允许外部干涉:• 低耦合 :仅暴露少量的方法给外部使用封装的具体优点:1. 提高代码的安全性.2. 提高代码的复用性.3. “高内聚”…
一.接口 二.多态 多态是同一个行为具有多个不同表现形式或形态的能力. 2.1 类型转换 转换方式 隐式 向上转型 对于基本数据类型,存储容量低的可自动向存储容量高的类型转换 对于引用变量,子类可被转换为超类,可被赋给所属类实现的接口的引用 显式 向下转型必须强制类型转换,是显示的 场合:赋值转换 方法调用转换 算术表达式转换 字符串转换 规则 基本类型的转换 将值从一种类型转换成另一种类型 引用变量的类型转换 将引用转换为另一种类型的引用,不改变对象本身的类型 转换方式 向上转型 转换为任何一…
常用类之集合 集合:就是用来存放数据的一个容器. 数组和集合的区别 (1)数组能存基本数据类型和引用类型:集合当中只能存放引用数据类型,直接放基本数据类型,也会自动帮你装箱(把基本数据类型转成对象),集合当中只能存放对象. (2)数组长度是固定,不能再去增长:集合长度是可以改变,根据元素的增长而增加. 什么时候使用数组,什么时候使用集合类. 如果元素个数是固定,推荐使用数组:如果元素不是固定,推荐使用集合. 集合体系 这里介绍集合体系的一部分. Collection 接口 常用方法 /* * 向…
文章内容源于对<疯狂java讲义>及<疯狂Java:突破程序员基本功的16课>学习和总结. 一. final成员变量 final 修饰变量时,表示该变量一旦获取了值就不可以改变了. 但是我们知道,当一个类被加载,或者是实例化对象时,系统会为类成员赋初始值,所以,final关键字修饰的成员变量,必须有程序员指定初始值,一旦指定了初始值,就不可以再改变. 其初始化可以在两个地方: 类Field:必须在声明该变量时或静态初始化快中指定初始值. 实例Field: 必须在非静态初始化块.声明…
1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识符的命名规则.规范(xxxyyyzzz).“见名知意” * 4.每"."一次,就代表一层文件目录. 1.2 举例:举例一:某航运软件系统包括:一组域对象.GUI和reports子系统 举例二:MVC设计模式 1.3 JDK中的主要包介绍: 2. import的使用:import:导入 * 1. 在源文件中显式的使用i…
String类 String类是一个特殊的类,叫做只读类,一旦创建了对象,便不可被改变,同样"abc"既为一个常量,也为一个对象,也是不可以改变的 String s1 = "abc"; 此语句只包含一个对象,即为"abc" String s2 = new String("abc"); 此语句包含两个对象,"abc"为一个对象,new的String为一个对象 所以s1与s2的地址值是不同的 String类常见…
測试在软件生命周期中的重要性,不用我多说想必大家也都很清楚.软件測试有许多分类,从測试的方法上可分为:黑盒測试.白盒測试.静态測试.动态測试等:从软件开发的过程分为:单元測试.集成測试.确认測试.验收.回归等. 在众多的分类中,与开发者关系最紧密的莫过于单元測试了.像其它种类的測试基本上都是由专门的測试人员来完毕,仅仅有单元測试是全然由开发者来完毕的.那么今天我们就来说说什么是单元測试,为什么要进行单元測试,以及如更好的何进行单元測试. 什么是单元測试? 单元測试(unit testing),是…