静态分派,动态分派,多分派,单分派 -------------
一,静态分派:1,定义:发生在编译时期,分派根据静态类型信息发生,重载就是静态分派
2,什么是静态类型:变量被声明时的类型是静态类型
什么是动态类型:变量所引用的对象的真实类型
3,有两个类,BlackCat ,WhiteCat都继承自Cat
如下调用
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifclass Cathttp://www.agoit.com/Images/dot.gif{}
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifclass WhiteCat extends Cathttp://www.agoit.com/Images/dot.gif{}
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifclass BlackCat extends Cathttp://www.agoit.com/Images/dot.gif{}
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedBlock.gifpublic class Person http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public void feed(Cat cat)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif System.out.println("feed cat");
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public void feed(WhiteCat cat)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif System.out.println("feed WhiteCat");
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public void feed(BlackCat cat)http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif System.out.println("feed BlackCat");
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.agoit.com/Images/OutliningIndicators/ContractedSubBlock.gif public static void main(String[] args) http://www.agoit.com/Images/dot.gif{
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Cat wc = new WhiteCat();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Cat bc = new BlackCat();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif Person p = new Person();
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif p.feed(wc);
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif p.feed(bc);
http://www.agoit.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif }
http://www.agoit.com/Images/OutliningIndicators/InBlock.gif
http://www.agoit.com/Images/OutliningIndicators/ExpandedBlockEnd.gif}
http://www.agoit.com/Images/OutliningIndicators/None.gif
页:
[1]