java-Cannot reduce the visibility of the inherited method from 父类

在Java里面,当A类继承B类,在B类里面重写(或叫覆写/override)A类的方法时,有一个规定,那就是:子类的该方法的权限修饰符范围应该是大于等于父类。

  class A{

    protected method() { }

  }

  class B extends A{

    private method(){ }

    //private是错误的,会出现错误提示:Cannot reduce the visibility of the inherited method from B

    //将protected,public或者缺省(不加)都是可以正常编译。

  }

java-Cannot reduce the visibility of the inherited method from 父类

时间: 2024-10-11 06:41:58

java-Cannot reduce the visibility of the inherited method from 父类的相关文章

Java注解之Retention、Documented、Inherited、target介绍

Retention注解---(retention 的翻译 保留) Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值:1.RetentionPolicy.SOURCE -- 这种类型的Annotations只在源代码级别保留,编译时就会被忽略2.RetentionPolicy.CLASS -- 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略3.RetentionPolicy.RUNTIME -- 这种类型的Annotation

【java】 java 设计模式(1):工厂方法模式(Factory Method)

工厂方法模式分为三种: 1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.首先看下关系图: 举例如下:(我们举一个发送邮件和短信的例子) 首先,创建二者的共同接口:   public interface Sender { public void send(); } 其次,创建实现类: public class MailSender implements Sender { @Override public void send() { System.out.println

java设计模式1--工厂方法模式(Factory Method)

本文地址:http://www.cnblogs.com/archimedes/p/java-factory-method-pattern.html,转载请注明源地址. 工厂方法模式(别名:虚拟构造) 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Method使一个类的实例化延迟到其子类. 概述 当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统.工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,该方法返回某

java设计模式:工厂方法模式(Factory Method)

工厂方法模式 返回设计模式目录 阅读目录: 简单工厂模式 介绍 UML类图 参考代码 总结 工厂方法模式 介绍 UML类图 参考代码 总结 前言: <大话设计模式>里有一小节叫'活字印刷,面向对象'的,讲了一个小故事,大意如下: 话说三国时期,曹操带领大军驻扎于赤壁.军船相连,气势恢宏,眼看要灭掉东吴,统一天下,曹操甚悦,于是大宴群臣.席间曹操诗兴大发,不觉吟道:"喝酒唱歌,人生真爽.--".众文武齐呼:"丞相好诗!".于是一臣子速命印刷工匠刻板印刷,以

Java设计模式-简单工厂模式(Static Factory Method)

简单工厂模式(Static Factory Method) 简单工厂模式是类的创建模式,又叫静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.那么简单工厂模式应用在那些场景呢: 拿登录功能来说,假如应用系统需要支持多种登录方式如:口令认证,域认证(口令认证通常是去数据库中验证用户,而域认证则是需要到微软的域中去验证用户).那么自然的做法就是建立一个各种登录方式都适用的接口:如下图所示: package com.tutoria

Java 方法重写和 Super 关键字

方法重写 在 Java 继承中,也存在着重写的概念,其实就是子类定义了和父类同名的方法. 定义:方法名称相同,返回类型相同,参数也相同.代码如下: package hello; class Father01{ public void tell(){ System.out.println("父类调用方法"); } } class Son01 extends Father01{ public void tell(){ System.out.println("子类调用方法"

华为JAVA(面试问题及答案节)

华为JAVA面试题 (后记:我没想到华为面试题是不寻常,,至少对我这种鸟来说是这样.对我个人来说.看看这样的题.可能比看<Think In Java>都还要好.因为这里面有很多的东西,都是我们平时没有太在意,或者是只是懂一点皮毛而已,通过做一下这样的练习.把自己不知道.不熟悉的知识点,利用这个机会好好的巩固一下. 这些答案是我自己做的,有一些是从网上来的,有一部是自己做的,并且还有一部份没有做完.我不敢保证都对,所以请你在引用的时候.务必通过自己核对一下. 当然.我既然能够把这些答案放在这里,

JAVA 面试题及思考

==================================== =======学而时习之======================== ===================== 1. public class Test { public static void main(String[] args) { String str = "123"; changeStr(str); System.out.print(str); } public static void chang

Java编程思想(四) —— 复用类

看了老罗罗升阳的专访,情不自禁地佩服,很年轻,我之前以为和罗永浩一个级别的年龄,也是见过的不是初高中编程的一位大牛之一,专访之后,发现老罗也是一步一个脚印的人.别说什么难做,做不了,你根本就没去尝试,也没有去坚持. If you can't fly then run,if you can't run then walk, if you can't walk then crawl,but whatever you do,you have to keep moving forward--Martin