知识大全 Java中overload和override的区别
Posted 类型
篇首语:勇士搏出惊涛骇流而不沉沦,懦夫在风平浪静也会溺水。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java中overload和override的区别相关的知识,希望对你有一定的参考价值。
Java中overload和override的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
方法重载(overload) 概念 简单的说:方法重载就是类的同一种功能的多种实现方式 到底采用哪种方式 取决于调用者给出的参数 注意事项 ( ) 方法名相同 ( ) 方法的参数类型 个数 顺序不至少有一项不同 ( ) 方法返回类型可以不同 ( ) 方法的修饰符可以不同 如果只是返回类型不一样 不能够构成重载 如果只是控制访问修饰符号不一样 也是不能构成重载的 Overloaded的方法是可以改变返回值的类型 方法覆蓋(override) 概念 简单的说 方法覆蓋就是子类有一个方法 和父类的某个方法的名称 返回类型 参数一样 那么我们就说子类的这个方法覆蓋了父类的那个方法 注意事项 方法覆蓋有很多条件 总的讲有两点一定要注意 ( ) 子类的方法的返回类型 参数 方法名称 要和父类方法的返回类型 参数 方法名称完全一样 否则编译出错 ( ) 子类方法不能缩小父类方法的访问权限(反过来是可以的)
例
Overrride实例
class A
public int getVal()
return( );
class B extends A
public int getVal()
return( );
public class override
public static void main(String[] args)
B b = new B();
A a= (A)b;//把 b 强 制转换成A的类型
int x=a getVal();
System out println(x);
Overload实例
package guonan;
//Demostrate method voerloading
class OverloadDemo
void test()
System out println("NO parameters");
void test(int a)
System out println("a:"+a);
//end of Overload test for one integer parameter
void test(int a int b)
System out println("a and b:"+a+" "+b);
double test(double a)
System out println("double a:"+a);
return a*a;
class Overload
public static void main(String[] args)
OverloadDemo ob = new OverloadDemo();
double result;
ob test();
ob test( );
ob test( );
result = ob test( );
System out println("Result of ob test( ):"+result);
cha138/Article/program/Java/JSP/201311/20248
相关参考