易截截图软件、单文件、免安装、纯绿色、仅160KB

java方法的重载与覆盖

java多态的2种表现形式 方法重载和方法覆盖
方法重载:同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载。
方法覆盖:子类重新实现了父类中的方法。
方法重载
/**
* 方法重载满足的条件
* 同一个类中,方法名相同,参数列表不同的2个或多个方法构成方法的重载
* 参数列表不同指参数的类型,参数的个数,参数的顺序至少一项不同
* 方法的返回值类型,方法的修饰符可以不同。
*/
public class Overload{

public static void overLoad(int i){
System.out.println(i);
}

/* 下面方法都与第一个方法public static void overLoad(int i)相比较*/
//public int overLoad(int k){}//错误,参数列表相同

//返回值类型不相同
public int overLoad(int i,int k){
return 0;
}
//修饰符不同
private void overLoad(double d){

}
//修饰符,返回值类型都不同
private double overLoad(double d,int k){
return 0;
}
}

方法覆盖
/**
* 方法覆盖指子类重新实现了父类中的方法
* 方法覆盖约束条件:
* 1.子类的方法名称,参数列表,返回值类型必须与父类中方法的名称,参数列表,返回值类型一致
* 2.子类方法不能缩小父类方法的访问权限,但可以扩大
* 3.子类方法不能抛出比父类方法更多的异常,可以不抛出异常
*/
public class Override{

}
class Exception1 extends Exception{}
class Exception2 extends Exception1{}
class Exception3 extends Exception2{}
class Parent{
void method() throws Exception2{}
}
class Son extends Parent{
//private void method(){}//错误,缩小了父类方法的访问权限
//int method(){} //错误,方法返回值与父类方法不一致
void method(int k){} //通过编译,但不与父类的方法method()构成覆盖

//public void method() throws Exception1{}//错误 抛出比父类更多的异常

//public void method(){} //正确 扩大父类方法的访问权限,不抛出异常
//void method() throws Exception3{}; //正确 抛出的异常比父类抛出的异常小
public void method() throws Exception3{}
}


相关文档:

Java解决各种中文乱码问题(1)get和post请求

作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家:
 
1:网页Post请求,提交后,显示提交结果,乱码。
首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。
如html中:
(1)<i ......

Java面试题

    Java面试题—基础方面:
1、作用域public,private,protected,以及不写时的区别?
答:区别如下:
作用域  当前类 同一packag 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
pr ......

JAVA CLASSPATH 和PATH的区别

 
PATH:
 
用来指定 java
虚拟机(JVM) 所在在目录,也就是我们最常用的用来编译java源程序的javac.exe 和用来执行 *.class 文件的
java.exe 这两个命令。以我的机器为例吧:我的 jdk 按装目录为 D:\jdk1.5.0_08(确切的说我的这个JDK不是安装
版本的,直接解压到 d:\ 下的 ,此时我的 path 就要这样设path= ......

Java IO 操作 InputStream

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class TestIO {
public static void main(String[] args) {
String fileName="E://test.txt";
testInputStream(fileName);
}

public static void testInputStre ......

【转】JAVA初学问题

   自己学习Java已经有一个月左右了~~对一些java也有一些感受~~
当看到这篇文章时,发现还可以~~就转来和大家分享一下~~~
1 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事?
答:Java是一种通用的,并发的,强类型的,面向对象的编程语言
(摘自Java规范第二版) JDK是Sun公司分发的免费Ja ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号