面向对象的三条主线:1.类及类的成分2.面向对象的三大特性3.其他的关键字:this super import package abstract static final interface等 1.java程序是关注于类的设计。类从代码的角度:并列关系! 从执行、设计的角度:关联关系、继承关系、聚合 ...
分类:
其他好文 时间:
2018-01-30 12:30:59
阅读次数:
185
1.关于于类的设计 2.类的组成成分: 1) 属性(成员变量,Field) 2)方法(成员方法,函数,Method) 2.1属性: * 成员变量 vs 局部变量 * 相同点:1.遵循变量声明的格式: 数据类型 变量名 = 初始化值 * 2.都有作用域 * 不同点:1.声明的位置的不同 :成员变量:声 ...
分类:
其他好文 时间:
2018-01-30 12:23:40
阅读次数:
128
五、初始化与清理 1.用构造器确保初始化 在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。构造器的名称与类的名称相同。(“每个方法首字母小写”的编码风格并不适用于构 ...
分类:
编程语言 时间:
2018-01-28 11:15:54
阅读次数:
223
深入理解python类的实例变量和类变量 Python变量的本质:被赋值1 普通python变量(非类相关变量)很容易理解,在被赋值后即变量存在,可读可写2 Python类的变量(类变量和实例对象变量)以某种方式在某地方被赋值,即存在,可被读写2.1 Python类变量被赋值 (1)类的设计里, c ...
分类:
编程语言 时间:
2018-01-27 00:46:46
阅读次数:
189
@EnableAutoConfiguration 启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入。这个类的设计就是为starter工作的。 @RestController 这个注解专门用于写RESTful的接口的,里面集成了@Controller和@Respons ...
分类:
编程语言 时间:
2018-01-25 00:08:16
阅读次数:
239
一、Java求余%的结果符号取决于除数的符号位;小数也可以求余,余数仍为小数。 二、String对象的比较问题 A.String是不可变的,不能被继承。String类内部通过char数组来保存字符串,而这个char数组被声明为:final。String类的设计使用了不变模式。 B.String类的声 ...
分类:
编程语言 时间:
2017-12-28 19:55:44
阅读次数:
190
解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 下面是一个解释器模式的demo: 上面类的设计如下图: 当有一个语言需要执行,并且可以将该语言的句子表示为抽象语法树时,可使用解释器模式 作者:An ...
分类:
编程语言 时间:
2017-12-12 21:33:09
阅读次数:
151
享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象. 下面是一个享元模式的demo: 上面类的设计如下图: 享元模式可以避免大量非常相似类的开销,在程序设计中,有时会生成大量细粒度的类实例来表示数据,如果这些实例除了几个参数外基本相同,就可以把参数已到实例外面,在 ...
分类:
编程语言 时间:
2017-11-30 17:19:56
阅读次数:
173
职责链模式(Chain Of Responsibility):使多个对象都有机会处理请求,从而避免发送者和接收者的耦合关系。将对象连成链并沿着这条链传递请求直到被处理 上面类的设计如下图: 接收者和发送者都没有对方的明确信息,且链中的对象自己并不知道链的结构,职责链可简化对象的相互连接,他们仅需保持 ...
分类:
编程语言 时间:
2017-11-28 17:20:48
阅读次数:
225
命令模式(Command Pattern):将请求封装成对象,从而使可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作. 下面是一个命令模式的demo: 上面类的设计如下图: 优点: 可以较容易的设计一个命令队列 可以较容易的将命令记入日志 允许接收请求的一方决定是否要否 ...
分类:
编程语言 时间:
2017-11-24 16:57:43
阅读次数:
191