Java超详细分析继承与重写的特点

2023-01-21 0 955

概念:继承是面向对象语法三大特征之一,继承可以降低代码沉余度,提高编程的效率。通过继承子类可以随意调用父类中的某些属性方法,一个子类只能继承一个父类,一个父类可以被多个子类继承。它就好比与我们显示生活中孩子继承父亲的财产。重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法,就好比金毛与哈士奇他的特征都是来自狗,仓鼠与松鼠他们他们的特征来自老鼠,而他们身上的不同属于基因突变就相当于重写

继承的特点:

1):java中只支持单根继承,即一个类只能有一个直接父类,一个父类可以有多个子类

2):将子类公共的属性抽取出来生成父类属性用于继承

3):子类无法继承或重写父类private修饰的属性和资源

重写的特征:

1).子类重写的方法必须和父类被重写的方法具有相同的方法名称、参数列表

2).子类重写的方法的返回值类型不能大于父类被重写的返回值类型

3).子类重写的方法使用的访问权限不能小于父类被重写的方法的访问权限子类不能重写父类中声明为private(即私有属性)权限的方法

4).子类方法抛出的异常不能大于父类被重写方法的异常

需要用的的方法或关键字:

extends:我们可以通过此关键字来进行继承,在关键字后写入需要被继承的类或方法既可实现继承

super():我们可以通过此方法来调用我们继承后的父类的属性或方法使用

测试类:

package com.ytzl.total;
/*继承*/
public class inherit {
    public static void main(String[] args) {
        son son = new son();//调用子类
        System.out.println(son.a);//调用子类中的属性
        son.a=2;//可以通过子类改变父类中的属性
        System.out.println(\"更改后的父类属性\"+son.a);
        son.myfather();//带调用父类的方法
        son.money();//调用重写的方法w
        son.jng();//调用静态修饰方法
        son.jing();
        System.out.println(\"子类通过继承方法调用父类中的属性=>\"+son.b);//调用父类中的静态属性
        son.two();
    }
}

父类:

package com.ytzl.total;
public class father {
    int a=0;
    static int b=2;
    private int one=4;//被私有属性修饰后将不能别子类调用或继承,
    protected int two=0;
    protected void two(){//该方法只能被子类继承重写不能被调用
        System.out.println(\"我是protected方法\");
    }
    public void setOne(int one) {
        this.one = one;
    }
    public void money(){
        System.out.println(\"我是被子类重写的方法\");
        System.out.println(\"父类的属性=>\"+a);
    }
    public void myfather(){
        System.out.println(\"我是被子类继承的方法\");
    }
    public static void jing(){
        System.out.println(\"你好\");
    }
    public static void jng(){
        System.out.println(\"你好\");
    }
    private void dong(){
        System.out.println(\"私有方法\");
    }
}

子类:

package com.ytzl.total;
public class son extends father{
    //方法的重写
    public void money(){
        super.money();//通过继承过去父类的money方法里的内容
        System.out.println(\"重写后的方法\");
        System.out.println(\"被继承后\"+super.a);//通过super来继承父类的属性
        System.out.println(\"继承后的protected属性=>\"+super.two);//通过super来继承protected方法
        super.two();
    }
    public static void jing(){//不能重写静态方法static
        System.out.println(\"不好\");
    }
    private void dong(){//不能重写或者继承父类的私有方法
        System.out.println(\"私有方法\");
    }
    protected void two(){//重写后的protected方法
        System.out.println(\"我是重写后的protected方法\");
    }
}

运行后的结果:

Java超详细分析继承与重写的特点

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 Java教程 Java超详细分析继承与重写的特点 https://www.20zxx.cn/463453/xuexijiaocheng/javajc.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务