A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 叶永鸿 初级黑马   /  2018-8-29 19:08  /  320 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.封装:
      封装可以理解为将一个功能的实现步骤包裹起来,需要的时候再取出来即可。
2..继承(extends)
    继承:基类和派生类是父子关系,超类和子类也是父子关系,父类中类方法不会
被继承,属于super关键字所拥有。
3.多态:包括重载和重写
    重载是本类中方法的多态,调用方法时通过传递给方法的不同参数(参数个数、参数类型)来确定具体使用哪个方法。(向上转型,编译看左边,决定哪些方法编译,运行看实际类型选择)。
方法名一致,参数不同,返回值类型和访问权限没有要求。
重载选择执行方法时,是参考传入参数的实际类型,而不是静态类型(特别注意上转型)。
重写是父子类方法的多态。 
4.重载和重写
重载的基本条件:
     函数名必须相同;
     函数的参数必须不同;
     函数的返回值可以相同,也可以不同;
重写的基本条件:
     发生在父子类之间;
     函数名和参数必须相同;
     返回值也必须相同,或者都返回指针或引用,或者小于父类;
关于重载的补充说明:  
    重载是使用静态分配的,在编译时就决定了使用哪个方法执行。应用在泛型或者向上转型上,左边是静态类型,右边是实际类型,方法的选择参考传入的类型:重载是通过传入参数的静态类型来选择方法的。 
关于重写的补充说明:
    重写的标准:遵循两同两小一大原则。
       方法名和参数相同,
       异常和返回值类型小,
      访问权限大。
    如果在new对象的同时,向上转型,在子类中又重写了父类的方法,此时运行时对象为父类型,拥有父类的一切以及子类重写的方法。
对于成员变量,编译和运行都参考左边。
对于成员函数(非静态):编译看左边,运行看右边。
对于静态函数:编译和运行都看左边。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马