1。利用try.....catch ....进行逻辑转换:
class Factory{
    
public Factory(){
      }

   
public Title createTitle(String name)
   
{  
      Title title
=null;
      
try{
         Title exiteTitle
=get(name);              //从数据库中查找同名的Title,如果存在,抛出存在异常
         throw new TitleAlreadyExistsException();           

           }
catch(TitleNotFoundException e) {
           title 
=new Title();

       }

     }



      
public Forum getForum(String name) throws ForumNotFoundException {         //查找数据库,如果没有找到,则抛出ForumNotFoundException 异常
        
return TitleManager.get(name);
    }

}




2.对实现接口使用Adapter方式,不必实现所有接口方法


1public interface KeyListener extends SWTEventListener {
2
3public void keyPressed(KeyEvent e);
4
5public void keyReleased(KeyEvent e);
6}

1public abstract class KeyAdapter implements KeyListener {
2public void keyPressed(KeyEvent e) {
3}

4
5public void keyReleased(KeyEvent e) {
6}

7}

这样我们就可直接使用接口中的某个方法而不比实现他的所有方法了

1button.addSelectionListener(new SelectionAdapter(){
2            public void widgetSelected(SelectionEvent event){
3                handleSelectionEvent();
4    }
        
5        }
);



3.动态调用方法

private static ClassLoader getTCL() throws IllegalAccessException,
            InvocationTargetException 
{

        
// Are we running on a JDK 1.2 or later system?
        Method method = null;
        
try {
            method 
= Thread.class.getMethod("getContextClassLoader"null);
        }
 catch (NoSuchMethodException e) {
            
// We are running on JDK 1.1
            return null;
        }


        
return (ClassLoader) method.invoke(Thread.currentThread(), null);
    }