简述重载与重写的区别
来源:互联网 发布:sql 不等于空字符串 编辑:程序博客网 时间:2024/05/17 18:25
重载(Overloading)
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数、类型、顺序。
(2)Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义,与参数名和返回值类型无关。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法
例子:
public class Person {
public Person()
{
this.base();
}
public void base() {
System.out.println("byebye!");
}
public void base(String a,double b){
System.out.println("haha!");
}
}
public static void main(String[] args)
{
Person per = new Person();
per.bark();
per.bark("女", "红");
}
重写(Overriding)
(1)在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。
但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。
(2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
(3)子类函数的访问修饰权限不能比父类更加严格。
例子:
public class Haha
{
public void test(int a)
{
System.out.print(a);
}
void test(byte b)
{
System.out.print(b);
}
}
public class Test extends Base
{
void test(int a)
{
a++;
System.out.println(a);
}
public static void main(String[]agrs)
{
Haha b=new Test();
b.test(0)
b.test((byte)0)
}
}
重写的规则:
1.重写方法只能存在于具有继承关系的类中
2、方法名,参数列表,返回值类型必须与被重写的方法相同
3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
重写与重载的区别在于:
重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。
- 简述重载与重写的区别
- 简述成员函数的重写与重载的区别
- 重载与重写的区别
- 重写与重载的区别
- 重载与重写的区别
- 重载与重写的区别
- 重写与重载的区别
- 重载与重写的区别
- 重写与重载的区别
- 重写与重载的区别
- 重载与重写的区别
- 重载与重写的区别
- 重写与重载的区别
- 重载与重写的区别
- 重载与重写的区别
- 重载与重写的区别:
- 重载与重写的区别
- 重载与重写的区别
- ssh_day01_08-eclipse的svn操作(下载项目到工作空间)
- 学习路线
- 解救臃肿的代码,代码封装利器自定义注解深入剖析
- 用形参操控实参时区分地址和内容
- Python&Opencv&Pycharm安装及环境配置
- 简述重载与重写的区别
- C6748_EMIF_NandFlash_访问异步地址
- NSProxy 与定时器
- 点击列表中的某条记录携带信息进行页面跳转
- 采用html 的a标签,href连接为文件时无法下载解决方案
- ROS安装hector_quadrotor
- java
- 设计模式学习--单例模式
- (连载)一个很长的梦——(二)