400-680-6399

java面向对象

2016-03-14 16:28 来源:未知
摘要:类和对象 static 关键字 修饰的方法/变量属于该类,没有用static修饰的,属于该类的实例即对象。 类方法/变量由类调用,成员方法/变量由实例调用。 this 总是指向调用该方法的对象(不

类和对象

    static 关键字 修饰的方法/变量属于该类,没有用static修饰的,属于该类的实例即对象。

    类方法/变量由类调用,成员方法/变量由实例调用。

    this  总是指向调用该方法的对象(不是类)。

方法详解


    方法所属性(static 决定)

    形参,实参的传递(值传递,注意引用变量传递的区别)

    形参个数可变(... 放在形参类型后)

    方法的重载(返回值不同或者形参个数不同)

    递归方法

成员变量和局部变量

    package 程序第一行,只能一个

    import 导入指定包层次下某个类或全部类

    import static 静态导入 用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。

构造器

    构造器最大的用处就是在创建对象时执行初始化

    构造器重载(形参列表不同)

    构造器调用另一个构造器需使用this关键字,而且必须作为构造器执行体的第一条语句。

类的继承

    Java子类不能获得父类的构造器

    重写父类的方法要遵循“两同两小一大”的规则。两同:方法名、形参列表相同;两小:返回值类型,抛出异常类;一大:访问权限。(重写方法,覆盖方法和被覆盖方法要同时为实例方法,或者类方法)

    super 在子类中调用父类被覆盖方法;在子类中调用父类构造器。

多态

    相同类型的变量、调用同一个方法时呈现出多种不同的行为特征,就是多态。

    java允许将子类对象直接赋给父类引用变量。(向上转型 upcasting)

    编译时类型转换成运行时类型,需要强制类型转换,要借助于类型转换运算符。

    instanceof:前一个操作数通常是一个引用类型变量,后一个通常是一个类或者接口。用于判断前一个对象是否是后面的类或者其子类、实现类的实例。

    instanceof前面操作数的编译时类型要么与后面类相同或者与后面类具有父子继承关系,否则会编译错误。

继承和组合

    继承使用应三思而行。不能破坏父类封装。子类扩展应该是属性增加或者增加自己独特的方法。

    继承是:is-a

    组合是:has-a

初始化块

    <img data-media-type="image" data-src="/mpres/htmledition/ueditor/themes/default/images/spacer.gif" data-inited="true" word_img="///C:/Users/spumetime/AppData/Local/YNote/data/18827435269@163.com/f239bdb6b61840faa9ed2e8d438d3073/clipboard.png" data-ratio="1" data-w="1" src="http://mp.weixin.qq.com/mpres/htmledition/ueditor/themes/default/images/spacer.gif" style="margin: 0px; padding: 0px; max-width: 100%; border: 1px solid rgb(221, 221, 221); background-image: url(http://mp.weixin.qq.com/mpres/htmledition/ueditor/>

本章小结

    本章主要介绍了Java面向对象的基本知识,包括如何定义类,如何为类定义成员变量、方法,以及如何创建类的对象。本章还深入分析了对象和引用变量之间的关系。方法也是本章介绍的重点,本章详细介绍了方法的参数传递机制、递归方法、重载方法、可变长度形参的方法等内容,并详细对比了成员变量和局部变量在用法上的差别,并深入对比了成员变量和局部变量在运行机制上的差别。

    本章详细介绍了如何使用访问控制符来设计封装良好的类,并使用package语句来组合系统中大量的类,以及如何使用import语句来导入其他包中的类。

    本章着重讲解了Java的继承和多态,包括如何利用extends关键字来实现继承,以及把一个子类对象赋给父类变量时产生的多态行为。本章还深入比较了继承、组合两种类复用机制各自的优缺点和适用场景。
热门标签:

热门课程

相关文章