文章列表
Preface
This comprehensive primer on the internal operations of WebKit and Gecko is the result of much research done by Israeli developer Tali Garsiel. Over a few years, she reviewed all the published data about browser internals (see Resources) and spent a lot of time reading web browser source co ...
原文:http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcshjdj/unix/2007/0704/129082.html
参考了《C和指针》与《C程序设计语言》写成了下面的文档,主要是自己看着方便点:) 首先看几个简单的例子 int f; //一个整型变量 int *f; //一个指向整型的指针 不过,请看第 2 个声明是如何工作的:它把表达式 *f 声明为一个整数。根据这个事实,你肯定能clearcase/" target="_blank" >cc" size="4& ...
实例方法
一个与父类中的实例方法有相同标签(名字,参数个数和类型)和返回类型的子类实例方法会重写父类中的方法.
子类重写的方法具有修改对象的行为的能力,他也可以返回被重写方法返回类型的子类型.这叫做协变返回类型(covariant return type).
在重写某个方法时,你可能想用@Override注解来告诉编译器你打算重写父类中的某个方法.这时候,如果编译器不能在父类中找到这样的方法,将会产生一个错误.
类方法
如果子类中定义了一个类方法与父类中的某个类方法具有相同的标签,那么子类中的方法隐藏(hides)了父类中的方法.
重写和隐藏的区别有重要的意义.调 ...
在前面的课程中,你多次看到继承被提及.在java语言中,类可以派生于其它的类,包括其它类中的属性和方法.
声明:
继承类叫做子类(也叫做派生类,扩展类).被继承的类叫做超类(也叫做基类,父类).
除了Object没有父类,其它的类都有且只有一个父类(单继承).在定义一个类时若没有父类,则隐含继承Object,每一个类都是Object类的子类.
继承的思想是简单并且强大的:当你想创建一个新类,并且已经存在的类中有你想要的代码,你可以从已经存在的类派生出新类.
一个子类从父类继承所有的成员(members).构造函数不是成员,所以不被继承,但是可以在子类中调用父类构造方法 ...
考虑你曾经开发的某个接口DoIt:
public interface DoIt {
void doSomething(int i, double x);
int doSomethingElse(String s);
}
假如,在将来的某个时候,你想为接口增加第三个方法,所以接口变成了:
public interface DoIt {
void doSomething(int i, double x);
int doSomethingElse(String s);
boolean didItWork(int i, double x, Str ...
当你定义了一个接口,你也定义了一种引用数据类型(reference data type).你可以在任何可以使用其他数据类型名的地方使用接口名称.如果你定义了一个接口类型的变量,你只能用实现了这个接口的类的实例来给他赋值.例如,有一个在两个对象之中找出最大的方法,每一个对象都必须从实现了Relatable的类实例化:
public Object findLargest(Object object1, Object object2) {
Relatable obj1 = (Relatable)object1;
Relatable obj2 = (Relatable)object2; ...
在你的类声名中包含一个implements子句用来实现一个接口.一个类可以在implements关键字后跟一个以逗号分隔的接口列表来实现多个接口.按照惯例,implements子句跟在extends子句后(如果有).
一个例子,Relatable:
public interface Relatable {
// this (调用isLargerThan的对象)和
// other 必须是相同类的实例
// 返回 1, 0, -1 如果this大于,
// 等于,小于other
public int isLargerThan(Relatable o ...
一个接口的声明由修饰符,关键字interface,接口名,一个逗号分隔的父接口列表(如果有),和接口体组成.例如:
public interface GroupedInterface extends Interface1,
Interface2, Interface3 {
// 常量声明
double E = 2.718282;
// 方法标签
void doSomething (int i, double x);
int doSomethingElse(Strin ...
当一个软件有多个共同的开发者一起完成时,他们需要制定一个"契约"规定他们的软件是怎么交互的.每一个组不需要知道其他组的代码是怎么编写的.通常,接口就是这种"契约".例如,想象一下我们的未来社会,汽车不需 ...
一.异常简介
Exception是"Exception Event"的简称.
当某个方法中产生了一个错误,这个方法将产生一个对象并传递给运行时系统.这个对象就叫做异常对象,它包含了错误的信息,它的类型以及发生错误时程序的运行状态.创建一个对象并把它传递给运行时系统的行为就叫做抛出异常(throwing
an exception).
当异常发生后,运行时系统试图找到一个合适的异常处理器来处理这个异常.如何找呢?方法就是从异常发生的地方反向搜索调用栈(call
stack),直到找到一个合适的处理器,那么我们说捕获了这个异常(catch the
e ...