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{}
}
相关文档:
package com.hefeng.test;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util ......
Java中Inputstream与Reader的区别
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。
Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,
InputStream、OutputStream是用来处理8位元的流,
Reader、Writer是用来处理16位元的流。
而在JAVA语言中,byte类型是8位的,char类型是1 ......
java数据库连接池
java数据库连接池
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Enumeration;
import java.util.Vector;
......
昨天开始就业班的课程就开始了,前几天张孝祥老师给我们讲了java的一些基础的东西,张老师的课知识量大,深入浅出,令人获益匪浅,接下来就用我理解的东西在这里和大家一起探讨一下。
sun公司在java1.5版本增加了不少新特性,例如:基本数据类型的自动装箱与拆箱、可变参数、增强for循环、枚举、 ......
1. 如果已经知道某个地点的时区,年,月,日,时,分,秒,希望得到转换后的本系统时间,可以采用如下的方法:
方法:假设时区是GMT+08:00,,年是2009年,月是11月,日是7日,时是10时,分是50分,秒是30。
public class Time {
public static void main(String[] args) {
TimeZone tz = Tim ......