java基础 day04

Day04

2013-3-6 13:39

  1. 在方法覆盖时,子类的方法必须具有父类的可见性,尤其是,如果父类方法是public,那么子类方法必须也声明为public
  2. 防止继承:final类。有时候可能并不希望别人从自己的类派生心累,不允许扩展的类称为final类。在类定义中用final修饰符加以说明。

 final class Executive extends manager

{

}

  1. 类中的方法也可以定义为final的,如果这么做了,子类中就不能覆盖这个方法(final类中的所有方法都默认是final的)。一个类被声明为final,只有他的方法(而不包括字段)被自动设为final
  2. 在继承连上进行自上到下的转换,可能会出现异常,如果没有捕捉到这个异常程序则会终止,因此,在类型转换之前需要判断这个转换是否能成功,使用关键字instanceof。如下:

            ifstaff[1] instanceof Manager)

             {

                 boss=(Manager) staff[1];

                 ………..

              }

 

  1. 抽象类:具有一个或者多个抽象方法的类必须声明为abstract抽象类。抽象类中可以有具体数据和具体方法,不仅仅是抽象方法。抽象类不能被实例化,如果一个雷被声明为abstract则不能构建这个类的任何对象。

 

  1. 有时候只允许子类,而非其他类,访问父类的某些方法,只允许子类的方法访问父类的字段,这种情况下通常把类的方法或者字段定义为protectedjava中的protected关键字与C++中的protected关键字有一定的区别,在java中受保护的方法或者字段,既可以呗子类访问,也可以被同一包内的其他类访问,其安全性比C++中的protected要弱。
posted @ 2013-03-08 10:41  ReaLo  阅读(100)  评论(0编辑  收藏  举报