黑马程序员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>、期待与您交流!
----------------------
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>、期待与您交流!
----------------------
相关文章推荐
- 黑马程序员---java基础之面向对象(一)三大特征(封装,继承,多态)
- 黑马程序员——Java继承、多态、接口
- 黑马程序员_Java(Math类,继承,多态,接口)
- 黑马程序员——Java基础——面向对象(继承、接口、多态)
- 黑马程序员——java基础之继承和多态
- 黑马程序员java学习笔记——面向对象的特征封装、继承和多态
- 黑马程序员——java中构造函数、继承、多态、接口总结
- 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类
- 黑马程序员 Java基础<二>---> 继承、内部类与多态,包
- 黑马程序员—java面向对象总结(3)—面向对象继承、多态特性
- 黑马程序员_Java继承、多态、接口零碎知识总结
- java继承复写多态概念
- 黑马程序员--------java面向对象 继承、接口、多态、Object类
- 黑马程序员_java_构造_多态_单例_继承_静态
- 黑马程序员——Java面向对象(二)—继承、final、多态
- 黑马程序员——Java基础---面向对象(继承、多态、抽象类、接口、内部类)
- 黑马程序员-17-java基础-面向对象(3)-继承、抽象类、接口与多态
- 黑马程序员—————Java基础----继承、多态、抽象、接口
- 黑马程序员_java的继承性- 继承-final关键字-抽象类-接口-多态-异常-包-多线程-
- 黑马程序员——Java基础---深入理解面向对象(封装继承和多态)