OOP
baohanjiayou
这个作者很懒,什么都没留下…
展开
-
Java中重载(overload)和重写(override)的区别
重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。 重写(override)在子类中定义一个与父类同名、返回类型、参数类型均相同一个方法,称为方法的覆盖。覆盖发生在子类与父类之间。通常应用于多态中。 首先我们来讲讲: 一、重载(Overloading) (1) 方法重载是让类以统...原创 2012-02-23 09:13:06 · 85 阅读 · 0 评论 -
方法重写与方法重载的比较实例
继承和多态都是面向对象程序设计的特点。使用继承可以在一个父类的基础上再创建一个子类,这个子类不但拥有父类已有的属性和方法,还可以创建属于自己的属性和方法。由于子类和父类之间的关系,从而引出了方法重写和方法重载的问题。方法重写及方法重载在继承和多态性方面的应用中会存在很多问题,这些概念很容易混淆,掌握重写和重载的区别对学会使用多态的方式编写程序、提高程序的可维护性奠定了基础。 一、方法重写(ov...原创 2012-02-23 09:20:22 · 208 阅读 · 0 评论 -
final关键字的使用
当利用final修饰一个属性(变量)的时候,此时的属性成为常量。 注意JAVA命名规范中常量全部字母大写: Final int AGE=10; 常量的地址不可改变,但在地址中保存的值(即对象的属性)是可以改变的。 在JAVA中利用public static final的组合方式对常量进行标识(固定格式)。 Final变量是在整个类被创建时候被赋值...原创 2012-02-27 16:04:46 · 70 阅读 · 0 评论 -
多态的分类
多态分两种: 1编译时多态:编译时动态重载; 2运行时多态:指一个对象可以具有多个类型,方法的覆盖 这样对于对象而言分为: 理解运行时多态: Car c = new Bus(); Car编译时类型 编译时检查变量类型是否存在,是否有调用的方法 Bus运行时类型 实际运行是访问heep中的对象,调用实际的方法。 运行...原创 2012-02-27 16:05:49 · 286 阅读 · 0 评论 -
SuperClass和SubClass
父类的非私有化属性(不同包的子类无法访问default修饰符)和方法可以默认继承到子类。 Class Son extends Father{ } 而如果父类中的私有方法被子类调用的话,则编译报错。 父类的构造方法子类不可以继承,更不存在覆盖的问题。 所以子类构造方法默认调用父类的无参构造方法。(所以养成写无参构造的习惯) 如果子类访问父类的有参构造方...原创 2012-02-27 16:09:27 · 685 阅读 · 0 评论 -
java构造对象顺序
1先为最里层类成员属性赋初值; 2再构造该类对象; 3返回外层,重复1(上一层类)、2步骤直到完成最外层类的构造。 super() this() 不会同时出现 A(){ super(); } A(int a){ this(); }...原创 2012-02-27 16:10:06 · 106 阅读 · 0 评论 -
java多态性详解
面向对象编程有三个特征,即封装、继承和多态。 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。 继承是为了重用父类代码,同时为实现多态性作准备。那么什么是多态呢? 方法的重写、重载与动态连接构成多态性。Java之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同,后者允许多继承,这确实给其带来的非常强大的功能,但是...原创 2012-03-25 22:42:00 · 96 阅读 · 0 评论