Java学习笔记---类的继承与多态特性

1.    public修饰符:public是公有类型的特权修饰符,也就是说,使用public修饰的类、成员变量和成员方法,其他的类都可以访问,包括任意包中的任意类以及子类。
       private修饰符:private是私有权限修饰符,它只有本类,也就是定义private私有成员的类能够访问,对于其他方式的访问都会拒绝。
       protected修饰符:protected是保护级别的权限修饰符,它保护成员不会被其他包或者非子类访问。也就是说protected修饰的成员只能被子类(可以不是直接子类,即间接继承的子类也可以)和同一个包中定义的其他类访问。
       默认权限修饰符:当不添加任何权限修饰符的时候编译器会使用默认权限修饰符,该修饰符的权限级别与protected类似,不同之处在于,在其他包定义的子类无法访问父类默认权限修饰的成员。
 
2.    如果一个方法中含有与成员变量同名的局部变量,则方法中对该变量的访问以局部变量进行访问,也就是说,方法体中的局部变量覆盖了成员变量。如果要在该范围内访问成员变量,就必须使用this关键字
       不能在静态上下文和静态代码块中使用this关键字,编译器不允许这么做。
 
3.    子类可以重写父类的方法,或者说可以覆盖父类的方法,只要在子类中定义与父类相同的方法就可以了。但是,方法的声明一定要和父类的方法声明一样
       另外,还可以使用super关键字应用父类的方法,然后再添加新的业务代码。
 
4.    使用abstract关键字定义的类称为抽象类,而使用这个关键字定义的方法称为抽象方法,抽象方法没有方法体,这个方法本身没有任何意义,除非它被重写,而承载这个抽象方法的抽象类就必须被继承,实际上抽象类除了被继承之外没有任何意义。
       反过来讲,如果声明一个抽象方法,就必须将承载这个抽象方法的类定义为抽象,不可能在非抽象类中定义抽象方法。换句话说,只要类中有一个抽象方法,此类就必须标记为抽象类。
       抽象类被继承后必须重写抽象类中所有的抽象方法,并定义方法体,否则编译无法通过。
 
5.    接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所有方法都没有方法体。
       Java中不允许多重继承,但使用接口就可以解决此类问题,一个类可以同时实现多个接口,将所需要继承的接口放在implements关键字后使用逗号隔开。
       接口内的方法,省略abstract关键字
       在接口中定义的方法必须被定义为public或abstract修饰符,其他修饰符权限不被Java编译器所认可。如果不声明public形式,它的默认修饰符也是public
       在接口中定义的任何成员变量默认都是static和final的
posted @ 2013-04-23 10:57  Xu Feng  阅读(301)  评论(0编辑  收藏  举报