Java重写与重载
有时候,类的同一种功能有多种实现方式,到底采用那种实现方式,取决于调用者
给定的参数。例如杂技师能训练动物,对于不同的动物有不同的训练方式。
public void train
(Dog dog){
//
训练小狗站立,排队,做算数
}
public void
train(Monkey monkey){
//
训练猴子骑自行车等
}
再如某个类的一个功能是比较两个城市是
否相同,一种方式是比较两个城市的名字,一种是除了比较两个城市的名字外,还要比较所在国家的名字。
publi boolean
isSameCity (String city1,String city2){
return
city1.equals(city2);
}
public boolean
isSameCity(String city1,String city2,Stirng Country1,String Country2){
return
isSameCity(city1,city2)&&Country1.equals(Country2);
}
在例如 java.lang.Math
类的 max
()方
法能够从两个数字中取出最大值,它有多种实现方式。
public static int
max(int a,int b)
public static int
max(long a, long b)
public static int
max(float a,float b)
以下程序多次调用Math
类的max()
方法,运行时,Java
虚拟机先判断给定参数的类型,然后决定到底执行哪个
max()
方法。
//
参数为
int
类型,因此执行max
(int
a, int b
)方法
·
Math.max(1,
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
这是一个没有验证行政区代码的,所以这个不算完全,但是我们在做实际应用时可以加上,这里我没加。
源码如下仅供参考.
package ibees.validator;
import java.util.regex.Pattern;
/**
* 常用的验证,source charset utf-8
*
* @author hhzxj2008
* */
public class CommonValidator {
public static boolea ......
import java.applet.*;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.util.*;
public class Typewriter4 extends Applet implements Runnable
{
AudioClip hit, cr, ding ;
boolean alreadyRun = false,
& ......
接口和抽象类是java中最重要的2个特征,在本书中写到了具体的应用,看了使我恍然大悟。
在接口中,所有的方法都是public 当然在接口中也可以有public static final属性
为什么使用接口:
1接口是对可插入性的保证
对继承的子类有影响,对超类没有影响,减少耦合度
2接口(以及抽象类)用来声明一个新的 ......
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.regex ......