摘要:
final 修饰词再对字段进行修饰时:只对于基本类型以及永恒类才具有常量的意义,原因见:http://www.cnblogs.com/papertigerv5/archive/2012/09/24/2700641.htmlfinal修饰符同样可以对类和方法进行修饰。当某类被final修饰时,表明该类不能作为其他类的基类 副作用: 由于不能被扩展,也就意味着所有的方法自动成为了final(然而对字段而言没有任何影响)例子: String是最终类,这样就带来了一个十分确定消息:一个String对象变量必然指向的一个字符串对象,而不能是什么其他的高级字符串什么对象当某类中的某个方法并不希望被扩展类. 阅读全文
posted @ 2012-10-07 21:03
papertiger
阅读(152)
评论(0)
推荐(0)
摘要:
Term:静态绑定: 在编译期就已经知道调用哪个对象的什么方法。动态绑定: 只有到运行期才知道调用哪个对象的什么方法。假定一个对象x(其为X类),调用m方法: x.m();JVM实际的动作是怎么样的呢?1. 根据对象x的类型信息(X类),找出X类中的所有的名字为m的方法.2. 根据X类的类型信息,找出X类父类的所有的名称为m的方法.前两步能够找出x对象能调用的所有m方法。3. 根据调用语句提供的参数类型,唯一确定一个方法. 当找不到任何方法、找到一个以上的方法与之匹配,编译器报错. 匹配原则:(最精确匹配,兼容匹配) 3.1 重载方法的解决方案: 根据参数列表给出。 3.2 包含类型转换... 阅读全文
posted @ 2012-10-07 15:51
papertiger
阅读(368)
评论(0)
推荐(0)
摘要:
替换原则:当一个软件实体可以使用某个类时,那么一定可以使用该类的子类,并且原代码并不会感觉父类与子类之间的差异。然而相反的替换却是不可以成功的。如:一个经理一定是个雇员,而雇员不一定是经理。编译器强制要求: 父类的对象变量可以引用该类的子类,而无法引用该类的父类。原因也如下代码:public class Employee{}public class Manager{ public void setBonus(double bonus){ this.bonus = bonus; } private double bonus;}public class TypeCo... 阅读全文
posted @ 2012-10-07 15:10
papertiger
阅读(195)
评论(0)
推荐(0)
摘要:
多态:一个对象变量可以指向多种对象类型(前提是在同一个继承分支上)下面的代码表明employee变量既可以是Employee对象的变量,同样也可以时Manager对象变量。public class Employee{}public class Manager extends Employee{}public class Polymorphism{ public static void main(String[] args){ Employee employee = new Manager(); employee = new Employee(); ... 阅读全文
posted @ 2012-10-07 14:10
papertiger
阅读(130)
评论(0)
推荐(0)
摘要:
Tutorial 1: 公司的雇员与经理Term: superclass --> 超类 subClass --> 扩展类继承使用的前提: 满足"is-a"的关系.例如:经理也是职员,但是经理却拥有雇员没有的属性(经理有员工没有的分红部分)继承设计的原则: 将一般性的,通用的属性和方法放置到父类中,而将特殊的属性以及方法放置到子类中View Code public class Employer { public Employer() { } public Employer(String name) { this.name = name; thi... 阅读全文
posted @ 2012-10-07 11:36
papertiger
阅读(176)
评论(0)
推荐(0)

浙公网安备 33010602011771号