Java继承和方法重写的特点是什么?
概念:继承是面向对象语法三大特征之一,继承可以降低代码的沉余度,提高编程的效率。通过继承子类可以随意调用父类中的某些属性与方法,一个子类只能继承一个父类,一个父类可以被多个子类继承。它就好比与我们显示生活中孩子继承父亲的财产。重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法,就好比金毛与哈士奇他的特征都是来自狗,仓鼠与松鼠他们他们的特征来自老鼠,而他们身上的不同属于基因突变就相当于重写
继承的特点:
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继承和方法重写的特点是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

Java是热门编程语言,适合初学者和经验丰富的开发者学习。本教程从基础概念出发,逐步深入讲解高级主题。安装Java开发工具包后,可通过创建简单的“Hello,World!”程序实践编程。理解代码后,使用命令提示符编译并运行程序,控制台上将输出“Hello,World!”。学习Java开启了编程之旅,随着掌握程度加深,可创建更复杂的应用程序。
