leochiang

BlogJava 联系 聚合 管理
  21 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
作用域 
当前类同一package子孙类 
其他package
public√    
√    
√    
√    
protected 
√    
√    
√    
  ×  
default√    
√    
  ×  
  × 
private√    
  ×  
  ×  
  ×  

关于overload与override的区别:
   overload是重载,意思是我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。 方法重载支持多态性,因为它是Java 实现“一个接口,多个方法”范型的一种方式。要理解这一点,考虑下面这段话:在不支持方法重载的语言中,每个方法必须有一个惟一的名字。但是,你经常希望实现数据类型不同但本质上相同的方法。 
        1)使用重载时必须使用不同的参数样式
        2)对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
    override是重写(比如说对接口的重写,继承中子类重写父类的方法)。
        1)覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;

        2)覆盖的方法的返回值必须和被覆盖的方法的返回一致;

        3)覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;

        4)被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

关于抽象类(abstract)   
      所有的对象都是通过类来描述的,然而,所有的类不一定是通过对象来描述清楚,因此不能描述的这些类定义为抽象类 。   
      抽象类与接口紧密相关。然接口又比抽象类更抽象,这主要体现在它们的差别上:1)类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。2)抽象类当中可以存在非抽象的方法,可接口不能且它里面的方法只是一个声名必须用public来修饰没有具体实现的方法。3)抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)。4)这一点也是最重要的一点本质的一点"抽象类是对象的抽象,然接口是一种行为规范"。 
        package core_java;

abstract class Ch{
    public abstract void doSome();
}

class A extends Ch{
    public void doSome(){
        System.out.println("a");
    }
}

class B extends Ch{
    public void doSome(){
        System.out.println("b");
    }
}

public class TestAbstract {

    /**
     * 
@param args
     
*/
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Ch aa = new A();
        Ch bb = new B();
        
        A aaa = new A();
        B bbb = new B();
        aa.doSome();
        bb.doSome();
        aaa.doSome();
        bbb.doSome();
        
        doSomething(aa);
        doSomething(bb);
        doSomething(aaa);
        doSomething(bbb);
    }
    
    public static void doSomething(Ch a){
        a.doSome();
    }

}
posted on 2012-08-06 09:27 leoChiang 阅读(270) 评论(0)  编辑  收藏 所属分类: 技术文档

只有注册用户登录后才能发表评论。


网站导航: