js中==和===的区别 Java中overload和override的区别
Java中overload和override的区别
方法重载(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);
}
lishixinzhi/Article/program/Java/JSP/201311/20248