您的位置:首页 > 职场人生

黑马程序员java初级之继承,多态,复写等

2014-01-14 19:58 656 查看
---------------------- <a href="http://edu.csdn.net"target="blank">J2EE+云计算</a>、<a href="http://edu.csdn.net"target="blank">JAVA培训</a>、期待与您交流! ----------------------

1,继承提高了代码的复用性,并且让类与类之间产生了关系,有了这个关系,才有了多态的特性

2.java语言不支持多继承,因为这样容易带来一些隐患,例如多个父类中有同名的方法,在子类中调用该方法时就不知道调用的是哪个了

3.在继承中,在执行new子类的时候,会先加载父类再加载子类;方法区中还分为静态区和非静态区;this此刻表子类,而super表父类,两者在使用方法上几乎是一致的

4.多态:父类引用指向子类,如我们在用new创建子类对象的时候,并没有创建父类,这时this和super实际上都是指向同一对象的,只不过意义上稍有不同。

5.当子类中出现和父类中的一模一样的函数时,这时如果调用子类对象中的该函数,会运行子类中的函数,就如同父类中的函数被覆盖一样,这种情况是函数的另一特性:重写(覆盖);该特性保留了父类的功能定义,并扩展了其功能,这样在获得新功能时又可通过调用父类中的该函数实现新旧功能同时有。但是的注意:子类覆盖父类,必须保证子类权限大于等于父类,否则编译失败,且静态只能覆盖静态(没人用)

6.重载是同名函数但是参数不同,重写是父子类中的方法要一模一样;子类的构造函数的第一行有一条隐含的语句:super(),所以在对子类对象初始化时,父类的构造函数也会运行,而且是子类所有构造函数的第一行都有,注意是无参的父类构造函数,所以父类中如果没有无参的构造函数时,会导致出现问题,此时要么手动改变子类调用的父类的构造函数的类型,要么在父类中保留无参构造函数-----------子类对象初始化时一定会调用父类的构造函数;super语句也得在构造函数的第一行,所以this语句和super语句不能出现在同一个构造函数中

7.Final修饰的类不能被继承,修饰的方法不能被复写,修饰的变量不能改变其值,就是常量,常量名所有的字母都得大写,然后要是多个单词组成的,每个单词之间用下划线连接

8.修饰类的修饰符有public,final,无,没有private

---------------------- <a href="http://edu.csdn.net"target="blank">J2EE+云计算</a>、<a href="http://edu.csdn.net"target="blank">JAVA</a>、期待与您交流!
----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐