类的继承,方法重新中修饰符如何定义

安稳与你 提交于 2020-08-09 14:28:40

简述,说起java的特性,就应该本能的想起 抽象  封装  继承 多态。继承是四大特性之一

继承 :子类和父类之间的继承关系,子类可以获取到父类的属性和方法 私有方法不能继承。

如下有一段代码片段:

public static void main(String[] args) {
          C c = new C();
    }
}
    class A {
        public A(){
        System.out.print("A ");
     }
        }

        class B extends A{
         public B(){ 
        System.out.print("B ");
     }
        }

         class C extends B{
        
             public C(){
               System.out.print("C ");
           }

b类继承a类,c类继承b类   main方法实例化C类。然后打印出来就会输出A B C。一个典型的继承案例

在java 中值允许出现单继承,也就是说一个类只能继承一个父类,但是可以被多个类继承,即可以拥有很多子类,就像只能有一个父亲,却可以有多个儿子。

子类继承父类的成员变量:能够继承父类的public和protected成员变量;不能够继承父类的private成员变量;

子类继承父类的方法:能够继承父类的public和protected成员方法;不能够继承父类的private成员方法;

重写:

abstract class Planet {
    
        protected void revolve() {
    }class Earth extends Planet {
      public void revolve() {    
        }
    }
Earth 类继承了Planet 并且重写了revolve方法 
重写有两个前提条件:继承和子父类中方法名称相同。 即重写必须发生在继承当当中,重写的方法名要与父类中的方法同名
java有四种访问权限,private<default<protected<public 从小到大 在子类继承父类时,子类的方法权限只能大于或等于父类的访问权限
例如:父类的权限为public 子类重写它的方法,修饰符只能为public (修饰符默认继承父类的方法) 如果父类方法的修饰符为
protected 则子类可以为
protected,也可以为public 下面有错误代码:

//正确案例
public class dome03 {
        protected void revolve() {
        
        }
    }
    class Earth extends dome03 {
        public /*或者protected*/ void revolve() {
        
        }
}

//错误案例
public class dome03 {
        protected void revolve() {
        
        }
    }
    class Earth extends dome03 {
        default void revolve() {
        
        }
}

个人学习,内容简略
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!