java函数的定义

函数定义

  1. 函数就是定义在类中的具有特定功能的一段独立小程序
  2. 函数是语句的集合,它们在一起执行一个功能。
  3. 函数包含于类或对象中
  4. 函数在程序中被创建,在其他地方被引用
  5. 函数也称为方法

函数的格式

修饰符 返回值类型 函数名( 参数类型 行参1,参数类型 形参2)
{
执行语句;
return 返回值;
}
修饰符 (public protected private)三选一、 static、final、synchronize、native
返回值类型:函数运行后的结果的数据类型。
参数类型:是形参的数据类型。
形参:是一个变量,用于存储调用函数时传递给函数的实际参数。
Return:结束参数。
返回值:该值会返回给调用者。

函数的特点

当函数运算后,没有具体的返回值时,这是返回值类型用一个特殊的关键字void来标识。
当函数的返回值是void时,函数中的return语句可以省略不写
void:代表的是函数没有具体返回值的情况。
定义函数可以将功能代码进行封装。
函数只有在被调用才会执行。
函数中只能调用函数,不能在函数内部定义函数。

函数的重载

函数重载的概念:
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不 同即可。
重载的特点:与返回值类型无关,只看参数列表,每个重载的方法(或构造函数)都必须有一个独一无二的参数列表。
重载的规则:

  1. 形参列表必须不一样(可以参数类型不一样或参数个数不一样);
  2. 可以改变返回类型;
  3. 可以改变访问修饰符;
  4. 可以声明新的或更广的检查异常;
  5. 方法能够在同一个类中或者在一个子类中重载;
  6. 方法重载的三个要素:调用者(对象),方法名,形参列表

例如:public void show(int a ,char b,double c ) { } 下面那个与给定函数重载
A publiic void show(int x,char y,double z){} //没有重载,因为和原函数一样
B publiic void show(int a,double c,char b){}//重载,因为参数类型不同
C public int show(int a,double c ,char b) { }//重载,因为参数类型不同
D public void show(char b ) { } //重载,因为参个数不同
E public double show(int a ,char b,double c ) { }//没有,这个函数不可以和给定函数同时存在一个类中,因为参数一致,名称一致,调用函数时分不清 返回值类型是void还是double 。

函数的重写

函数重写的概念:
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
重写的好处在于子类可以根据需要,定义特定于自己的行为。
也就是说子类能够根据需要实现父类的方法。
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。
函数重写的规则:

  1. 构造方法不能被重写
  2. 声明为final的方法不能被重写。
  3. 参数列表必须完全与被重写方法的相同;
  4. 父类的成员方法只能被它的子类重写。
  5. 如果不能继承一个方法,则不能重写这个方法。
  6. 返回类型必须完全与被重写方法的返回类型相同;
  7. 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方 法被声明为public,那么在子类中重写该方法就不能声明为protected。
  8. 声明为static的方法不能被重写,但是能够被再次声明
  9. 子类和父类在同一个包中,那么子类可以重写父类所有除了声明为private和final 的方法。
  10. 子类和父类不在同一个包中,子类只能够重写父类的声明为public和protected的非final方法
  11. 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是, 重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性 异常,反之则可以。

重写与重载的区别

区别点重载方法重写方法
参数类型必须修改一定不能修改
返回类型可以修改一定不能修改
异常可以修改可以减少或删除,一定不能抛出新的或者更广的异常
访问可以修改一定不能做更严格的限制(可以降低限制)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值