第一条:考虑用静态工厂方法代替构造器使用静态工厂方法的优势:静态工厂方法具有名称,具有适当名称的方法更易阅读。具有多个构造器的类用户往往不知道该用哪个,可考虑提供多个合适命名的静态工厂方法。相比于构造器,不必再每次调用时都创建一个新对象不可变类可以预先创建好实例,或者将构件好的实例缓存起来,从而避免...
分类:
编程语言 时间:
2015-04-03 22:24:17
阅读次数:
263
什么继承? 继承是分类的问题,继承反映了类和类之间的关系。使用继承:class a:b{}调用基类的构造器:class a:b{ public a():base() {} }类的赋值: 基类可以引用派生类的对象;使用new关键字: 派生类中的方法会屏蔽基类中具有相同签名的方法,此...
1、 概述: a. 概念:提供对元数据的支持,可以在编译、加载和运行时被读取,并执行相应的处理. b. 作用范围:用于修饰包、类、构造器、方法、成员变量、参数和局部变量的声明. c. 使用形式:name = value形式 d. 特点:不会影响代码的执行.2、 基本注解(Java提供的注解...
分类:
编程语言 时间:
2015-04-02 23:56:00
阅读次数:
204
控制可访问性: private一个方法或字段只允许从类的内部访问,private关键字是默认的 public方法或字段既能从类的内部访问也能从外部访问 方法中声明的变量默认是不初始化的,而类中的字段自动初始化为0,null,false使用构造器: 与类同名。能获取参数,但不能返回任何的值(即...
今天刚开始读effective java,中文版的读起来很拗口,但感觉收获很多。另外,这本书的内容是针对Java 1.5和1.6的。在这里整理一下第2章:创建和销毁对象 的内容。第一条:考虑用静态工厂方法代替构造器 这一条针对的情景是要获得类的实例时。一般说来,想要获得类的实例,都是通过构造函数.....
分类:
编程语言 时间:
2015-04-01 19:22:39
阅读次数:
159
在Javascript面向对象编程中,原型继承不仅是一个重点也是一个不容易掌握的点。在本文中,我们将对Javascript中的原型继承进行一些探索。基本形式我们先来看下面一段代码://构造器函数 function Shape(){ this.x = 0; this.y = 0;}//一...
分类:
编程语言 时间:
2015-04-01 11:16:07
阅读次数:
187
继承中常见的几个词汇构造器Protected向上转型复用代码重写方法FinalSuper向下转型复用代码是我们一直在追求的,继承就是其中的一种实现方式。先分析一下继承的优缺点: 优点,继承可以让我们的在少打很多代码的时候获得新的属性和方法,大大提高了开发效率;并且继承来的方法可以被重写;继承所描述的...
分类:
其他好文 时间:
2015-03-31 23:42:50
阅读次数:
200
类中域为基本类型可以被自动初始化为0,对象引用会被初始化为null。
初始化对象引用的方法
{
1.在定义对象的地方。
2.在类的构造器中
3.在正要使用对象之前(惰性初始化)
4.实例初始化
}
class Soap {
private String s;
Soap() {
print("Soap()");
s = "Constructed";...
分类:
其他好文 时间:
2015-03-31 20:09:00
阅读次数:
115
所有的类继承自Object。
JAVA会自动在导出类的构造器中插入对基类构造器的调用,构建过程是由基类向外扩散的,基类在导出类构造器可以访问它之前,就已经完成了初始化。即使你不为导出类创建构造器,编译器也会为你自动生成一个默认的构造器,该构造器将调用基类的构造器。
class Art {
Art() { print("Art constructor"); }
}
class Draw...
分类:
其他好文 时间:
2015-03-31 20:05:28
阅读次数:
146
无法阻止初始化的自动进行,它将在构造器被调用之前发生。
变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它仍旧会在任何方法(包括构造器)之前得到初始化。
import static net.mindview.util.Print.*;
// When the constructor is called to create a
// Window object, you'...
分类:
其他好文 时间:
2015-03-31 14:49:15
阅读次数:
121