zoukankan      html  css  js  c++  java
  • Java方法重写与super关键字

    ----------siwuxie095

       

       

       

       

       

    方法的重写:

       

    1)在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法

       

    2)定义:方法名称相同,返回值类型相同,参数也相同

       

    3)重写限制:被子类重写的方法不能拥有比父类更严格的访问权限

       

    4)访问权限:private < default < public

       

    private 只能在当前类中进行访问,default 可以在同一包下进行访问

    (没有写 private public,即是 default),public 可以在整个工程下

    都可以访问〕

       

       

    代码:

       

    package com.siwuxie095.extendsdemo;

       

    class A{

    public void tell() {

    System.out.println("A---tell() 方法");

    }

     

    private void say(){}

     

    //前面什么都没有写的即是 default

    void print(){}

       

    }

       

       

    class B extends A{

    public void tell(){

    //调用父类的方法

    super.tell();

    System.out.println("B---重写 tell() 方法");

    }

    }

       

    public class ExtendsDemo04 {

       

    public static void main(String[] args) {

    B b=new B();

    b.tell();

    }

       

    }

       

       

    运行一览:

       

       

       

       

       

       

    super 关键字:

       

    强行调用父类方法的执行

     

    super 不一定在重写中使用,也可以表示方法是从父类继承而来的

       

       

    如:

    子类对象在实例化之前,先调用父类构造方法,后调用子类构造方法的原因:

       

    虽然没有手动去调用父类的构造方法,其实是省略了 super();,在编译时系统

    自动在子类的构造方法中加入 super();

       

       

    代码:

       

    package com.siwuxie095.extendsdemo;

       

       

    class Father{

    private String name;

    private int age;

     

    public Father() {

    System.out.println("父类的构造方法");

    }

     

    }

       

    class Son extends Father{

    public Son() {

    super();

    System.out.println("子类的构造方法");

    }

     

     

    }

       

    public class ExtendsDemo03 {

       

    public static void main(String[] args) {

    //实例化时,先执行父类的构造方法,再执行子类的构造方法

    Son s=new Son();

    }

       

    }

       

       

    运行一览:

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    MySQL全文索引应用简明教程
    web前端的春天 or 噩梦
    [DeviceOne开发]-手势动画示例分享
    [DeviceOne开发]-土地销售项目源码分享
    [DeviceOne开发]-do_LinearLayout组件使用技巧
    2016年我们重新思考移动互联网创业的风险, 微信还是APP?
    APP技术演化的路
    ReactNative&weex&DeviceOne对比
    what's deviceone
    APP开放源码第一弹《纳豆》
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6568341.html
Copyright © 2011-2022 走看看