Java继承
子类对象的方法不能直接访问超类的私有域,尽管每个子类对象都拥有这个私有域,但是在子类的方法中却不能直接访问这个域。只有超类的方法才能够访问私有部分。如果子类一定要访问父类私有域,就必须借助共有的接口。调用超类的方法,如果这个方法在子类中也有,那就必须用super。子类用可以增加自己的部分,覆盖超类的部分方法,但是绝对不能删除继承的任何域和方法。
使用super调用超类构造器的语句必须是子类构造器的第一局话。如果子类的构造器没有现实的调用超类的构造器,那么系统自动的调用超类默认的构造器,就是没有参数的那个构造器,如果超类没有不带参数的构造器,并且在子类的构造器中又没有显示的调用超类的其他构造器,那么编译器就会提示错误。
一个对象变量可以引用多种实际类型的现象被称为多态,在运行时能够自动的选择调用哪个方法的现象叫做动态绑定。方法的名字和参数列表成为方法的签名,不过返回类型不是签名的一部分,在覆盖方法的时候,一定要保证返回类型的兼容性。现在允许子类将覆盖方法的返回类型定义为原返回类型的子类型。
在覆盖一个方法的时候,子类方法不能低于超类方法的可见性。特别是父类方法是public,那么子类方法一定要声明为public。
阻止继承要用 final类和方法。域也可以声明为final,对于final域来说,构造对象之后就不允许改变他们的值了。不过如果将类声明为final,只有其中的方法自动的成为final,而不包括域。
抽象类
public abstract String getDescription();加上abstract就不需要实现这个方法了,包含一个或多个抽象方法的类本身必须声明为抽象的。抽象方法起着占位的作用,他们的具体实现在子类中。扩展抽象类有两种选择,1 在子类中定义部分抽象方法或者抽象方法也不定义,这样就必须把子类也定义为抽象类,2,是定义全部抽象方法,这样一来子类就不是抽象的了。类即使不含抽象方法,也可以将类声明为抽象类。除了抽象方法外,抽象类还可以包含具体数据和具体方法。抽象类不能被实例化。但是可以定义一个抽象类对象,不过他只能引用它的非抽象子类的对象。由于不能构造抽象类的对象,所以抽象类变量引用的永远不是抽象类对象,而是引用的一个非抽象子类的对象,而在这些对象里面的方法一定都是具体的了。
受保护访问
相关文档:
一、Java部分(共40分)
1、 说说Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?(5分)
Overload是覆盖,子类的方法跟父类方法名字一样,子类的方法把父类的覆盖了。
Override是重载,不同的方法参数、返回值不一样,紧紧返回值不一样的两个函数不叫重载,编译不会通过的。
Over ......
其实,这篇短文,我早就应该写了。因为,java存储过程今后在各大数据库厂商中越来越流行,功能也越来越强大。这里以Oracle为例,介绍一下java存储过程的具体用法。
一、如何创建java存储过程?
通常有三种方法来创建java存储过程。
1. 使用oracle的sql语句来创建:
e.g. 使用create or replace and compile java source ......
传智播客JAVA培训2010-5-8OA第二天总结
一直以来,都听到这样的话,今天又在网上看到了这样一句话“写出一行代码往往比理解一行代码更重要。因为理解问题也许仅是一个数学上或实验上的技能而已,而写出一行新的代码,却需要有创造性的”。这毫无疑问的表显出来,学程序的最基本道理。当我们报着算法的书籍在啃 ......
原文:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html
关
键字:java,annotation,reflect
前言:
在
上篇文章《Java Annotation入门》
中概要性的介绍了Annotation的定义、使用,范围涵盖较广,但是
深度不够。所以作者在《Java Annotation入门》后,继续整理了Annotation的概念和 ......
目录
摘要 ……………………………………………………………………2
文献综述 ……………………&hel ......