java中抽象类的抽象方法可以用默认访问控制符吗?

我一直认为不能用,因为子类继承的话无法访问,可是有人告诉我可以用,不知道为什么可以用?

6个回答

图片说明

这个图片很明了,,,瞅瞅

Small_Mouse0
小鼠标丶 回复IT初学: 可以不放在同包下,,放在同包下,更方便
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 可是protected就是专门给子类增加的权限啊,说明子类有可能在不同包啊
2 年多之前 回复
Small_Mouse0
小鼠标丶 回复IT初学: 书上说的是同包,,一般情况下,子类和父类功能是很接近的,会放在同包下,不同包来回继承,太乱了,,,
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 那就是也不能继承默认的属性和方法了?但是书上说的是除了不能继承private的属性和方法,其它的都可以继承啊
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 加上@Override果然不行了
2 年多之前 回复
Small_Mouse0
小鼠标丶 回复IT初学: 加上这个注解叫重写,,可能是你哪里弄错了
2 年多之前 回复
u010791053
IT初学 回复IT初学: 这是我的jdk版本,
2 年多之前 回复
u010791053
IT初学 java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 没加注解@Override,加这个有什么用?
2 年多之前 回复
Small_Mouse0
小鼠标丶 回复IT初学: 这得好好讨论讨论,,我用的jdk1.8,,,不同包,继承了,无法使用(开发工具没关系,这是jdk的问题),,,你重写加注解了没 @Override??
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 我测了,抽象类默认权限的方法可以被继承,不能被重写(eclipse这样提示的)。但是我重写了,而且调用这个方法还出结果了,eclipse自相矛盾了
2 年多之前 回复
Small_Mouse0
小鼠标丶 回复IT初学: ”所有继承的子类它的父类方法都可以继承“错,,,父类私有的不能吧,默认的的也不能,,我刚才专门测了一下子类中没有默认修饰符(不同包,同包下可以),你可以测测
2 年多之前 回复
u010791053
IT初学 回复小鼠标丶: 可是只要是子类继承,所有继承的子类它的父类方法都可以继承啊,不存在有些子类不能继承的情况
2 年多之前 回复
Small_Mouse0
小鼠标丶 回复IT初学: 不能解决??同包继承可以访问,不同包继承无法访问。有人告诉你能访问,不全对,,不同包不能访问。
2 年多之前 回复
u010791053
IT初学 默认访问控制符是不能保证所有子类访问的,所以默认访问控制符还是不能用,你这个表我也知道,可是并不能解决问题
2 年多之前 回复
    本类   同一个包下(子类和无关类)    不同包下(子类)        不同包下(无关类)
    private        Y        
    默认          Y                    Y
    protected       Y               Y                       Y
    public      Y               Y                       Y               Y
u010791053
IT初学 默认访问控制符是不能保证所有子类访问的,所以默认访问控制符还是不能用,你这个表我也知道,可是并不能解决问题
2 年多之前 回复

默认修饰符,在同包下的子类是可以访问的。

u012988099
karashiacid 回复IT初学: 内部类里面可以在同一个包
2 年多之前 回复
u010791053
IT初学 但是继承抽象类的子类不一定在同一个包啊
2 年多之前 回复

何必纠结这个,既然是抽象类肯定要被继承的,那直接使用public就好啦。

u010791053
IT初学
2 年多之前 回复

默认访问修饰符 只能访问同包,同类。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问