首页 > 其他 > 详细

Java访问修饰符,覆盖

时间:2014-02-07 01:08:38      阅读:343      评论:0      收藏:0      [点我收藏+]

一、访问修饰符


修饰符
范围
继承描述
备注1
备注2

private

本类内部一定不能继承

私有的




其实是继承了,但不能访问



default

本类+同包的类



不一定能继承

若不写修饰符时则是默认的 default

但default不能显式地修饰成员,只能采用不写的方式

若父子类同包则能继承;

若父子类不同包则不能继承

protected本类+同包+不同包的子类一定能继承受保护的同包,不同包的父子类都能继承
public公开的所有的类一定能继承公开的



二、属性和方法覆盖


方法覆盖:

   (1) 方法覆盖的条件是父子类方法名,参数表,返回类型全部相同才能覆盖

   (2) 父子类的方法覆盖是指当父类引用指向子类对象时,会执行子类的覆盖方法

   (3) 子类方法修饰符的范围要比父类的宽才能覆盖

   (4) 子类方法抛出的异常不能超过父类的异常才能覆盖


属性覆盖:

bubuko.com,布布扣

   (1) 创建子类对象 ClassB cb=new ClassB(),会先创建父类ClassA对象,子类对象创建后,

       则必然有2个实例变量a,一个是父类的a=20,另一个是子类自己的a=10。

       当我们用this.a访问时访问的是子类自己的实例变量a=10,这就是子类属性遮盖父类属性。

   (2) 当子类中的属性与父类属性同名时,则子类属性会遮盖父类属性

       一定想要在子类中访问继承父类的同名属性,使用super.属性名来访问

       访问父类继承的方法而非子类覆盖的方法也用super.方法名来调用



Java访问修饰符,覆盖

原文:http://shahdza.blog.51cto.com/2410787/1355083

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!