您的位置:首页 > 编程语言 > Java开发

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

2013-04-23 10:57 501 查看
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的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: