Java的的方法重载和方法重写
2017-04-22 21:25
316 查看
Java的方法重载和方法重写
举例子:
重载必须满足以下条件:
1.必须是同一个类
2.方法名(也可以叫函数)一样
3.方法参数个数或参数类型(或参数的类型不是同一种的情况下参数顺序)不同一般用在继承中。子类的返回值,方法名,参数个数和参数类型都和父类一样
注:
方法的返回类型以及方法的修饰符都不能称为重载的条件
1.参数顺序指的是参数类型顺序,与参数名字无关,比如
show(int a,String a,int c)和show(int c,String b,int a)是一样的方法,非方
法重载,因为他们的参数类型顺序一样是int,String,int
2.方法重载与访问权限修饰符和方法返回值无关
在一个类中不允许定义两个方法名相同,并且参数签名也完全相同的方法。因为假如存在这样的两个方法,Java虚拟机在运行时就无法
决定到底执行哪个方法。参数签名是指参数的类型、个数和顺序。
举例子:
Java的方法重写
Java的方法重写,发生在两个类中,一般用在继承中。子类的返回值,方法名,参数个数和参数类型都和父类一样,子类在重写父类方法时,对于重写的方法的修饰符必须范围大于或者等于父类的方法的修饰符.如果小于父类的会抛出异常.举例子:
class Person{ void say(int a){ System.out.println("I am a person!"); } } class Student extends Person{ protected void say(char a){//这个不叫重写,因为参数的类型不一致,这个是自己定义的一个方法 System.out.println("I am a student!"); } } class Worker extends Person{ public void say(int a){ System.out.println("I am a worker"); } }
Java的方法重载
Java的方法重载,发生在一个类中。重载必须满足以下条件:
1.必须是同一个类
2.方法名(也可以叫函数)一样
3.方法参数个数或参数类型(或参数的类型不是同一种的情况下参数顺序)不同一般用在继承中。子类的返回值,方法名,参数个数和参数类型都和父类一样
注:
方法的返回类型以及方法的修饰符都不能称为重载的条件
1.参数顺序指的是参数类型顺序,与参数名字无关,比如
show(int a,String a,int c)和show(int c,String b,int a)是一样的方法,非方
法重载,因为他们的参数类型顺序一样是int,String,int
2.方法重载与访问权限修饰符和方法返回值无关
在一个类中不允许定义两个方法名相同,并且参数签名也完全相同的方法。因为假如存在这样的两个方法,Java虚拟机在运行时就无法
决定到底执行哪个方法。参数签名是指参数的类型、个数和顺序。
举例子:
class Animal { public void say() { System.out.println("I can eat!"); } public void say(String string) { System.out.println("I can say" + string); } protected int say(int a) { return a; } }
相关文章推荐
- java中方法的重载与重写的区别
- java学习笔记九——构造函数、方法重写、重载
- java方法重写与重载
- java语言中方法重载overloading和方法重写(覆写)overriding的区别
- java中方法的重载与重写的区别
- java中方法的重载与重写的区别
- JAVA方法重载和方法重写
- Java 方法的重写与重载
- java方法的重载,重写,super,this,final关键字
- java中方法的重载与重写的区别
- JAVA方法重载与重写的区别
- 全新java初学者实践教程15(java SE5.0版)--jdk5中方法的重载与重写
- JAVA 方法的重写和重载
- Java里方法的重载与重写
- JAVA 方法重载,方法重写,继承
- Java中的重载方法与重写
- java方法的重载(Overload)与重写(Override)
- java方法的重载(Overload)与重写(Override)
- 黑马程序员-----java基础五(方法的重载与重写)
- java中方法的重写和重载分析