oop上课笔记.doc_第1页
oop上课笔记.doc_第2页
oop上课笔记.doc_第3页
oop上课笔记.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象和面向过程的区别:(了解)类和对象:1对象:万物皆对象,是一个具体的事物2类:是抽象出来的,是Java编程的基本单位。 概念:具有某些共同属性和行为的事物的抽象。 组成:属性和行为。属性:定义在方法外部的变量。行为(方法):是事物具有的动作 关系:一个类可以产生多个对象,一个对象只能从属于一个类。3如何定义一个类:用class来定义一个类4如何创建一个对象:用new来创建对象5方法的重载:在同一个类中,不关注方法的返回值类型,方法的名称必须相同 方法中的参数个数不同。 方法中的参数个数相同,但方法中的参数类型不同。 有两个以上方法中的不同参数类型的个数相同,但方法中的参数类型并且其参数的顺序不同6构造方法: 作用:初始化对象的信息 分类: 默认构造方法:在没有其他的构造方法的前提下,不管是否存在构造方法,系统在编译时都会自动生成一个默认的构造方法 带参构造方法:如果一个类中有带参构造方法,那么系统将不再生成默认构造方法 构造方法的特征: 构造方法没有任何的返回值类型 构造方法的名称必须和类名相同 构造方法体里不能有return出现 构造方法的重载:同上 构造方法的调用:构造方法不能被继承,只能被调用7setter和getter方法的作用:setter方法是给属性赋值,getter方法是获取属性的值8输出一个对象的信息需要重写toString()方法封装:1概念:隐藏对象的实现细节2好处:安全3包: 如何定义包:package,它在程序的第一行 好处:给一个限制 命名规范:按照换联网网址反过来写,并且都是小写字母4访问控制:访问控制由访问修饰符来完成,访问修饰符有四个,如下 public(公有的):在项目的范围内都可以调用 protected(受保护的):在继承的前提下都可以调用,不管是否在同一个包中 default(默认的):在同一个包中都可以调用 private(私有的):只有在当前类才可以调用 封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性,当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,第一中即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过上面提到的set和get方法,这里我举一个特定的例子,我定义一个Person类,该类中有name、age这两个私有域变量,然后我定义setname()、getname()、setage()、getage()这四个方法,通过这四个方法来实现对name和age的操作。这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。5static关键字: 修饰字段时,也叫做类变量,属于该类中所有对象所公有,而不是属于某一具体对象所 独有。在内存中只有一份 修饰方法时,该方法叫类方法,此方法属于所有对象所公有,而不是属于某一具体对象所 独有。在内存中只有一份 使用规则:有两种调用方式: 实例化后通过该实例的引用名.属性名来调用(方法名)来调用 直接通过类名.属性名(方法名)来调用 Note:建议使用这种方式调用 被static修饰的方法可以直接调用被static修饰的方法或属性,但不允许调用没有被static 修饰的方法和属性 没有被static修饰的方法可以直接调用被static修饰的方法或属性,也允许调用没有被static 修饰的方法和属性 继承:1继承的好处:减少代码的重复使用,以方便维护和扩展程序 2如何实现继承:通过使用extends关键字来实现继承 Note:JAVA中之允许单继承。3子类和父类的关系:子类和父类是is a的关系;父类和子类是has a的关系 4子类是父类功能的一种扩展*5方法的重载:除了大前提变成在继承的前提下,同类和对象里方法的重载。当子类在调用重载方法时, 调用的是子类中的重载方法,父类中的重载方法用super.方法名()来调用6super的用法 在子类普通方法中调用父类中的方法:super.方法名();如果调用带参的方法,则在括号中传入相应类型的参数即可 在构造方法中调用super();如果调用带参的构造方法,则在括号中传入相应类型的参数即可; Note:构造方法中super();必须放到第一行。构造方法里super()和this()不能共存7方法的重写:前提是重写关注方法的返回值类型,方法的名称必须相同,然后再根据重载的条件,把重载里的不同改成都相同。简单的记,父类中的方法和子类中方法的 定义一模一样,但方法体中的实现可以不同。 抽象类和接口1抽象类 被abstract修饰的类是抽象类 特征:抽象类不能被实例化 抽象方法:被abstract修饰的方法叫抽象方法 抽象方法的特征:抽象方法只有方法的声明,没有方法的实现(没有方法体) 抽象类与抽象方法的关系:抽象类中不一定有抽象方法,但有抽象方法的类肯定是抽象类2接口 被interface修饰的是接口 特征: 接口中的所有的属性都是public static final类型,并且必须赋初始值 接口中所有的方法都是public abstract的抽象方法3抽象类与接口: 共同点:都是更高级的抽象形式,但接口比抽象类是更高级的一种抽象 不同点:抽象类类似于一种模板;接口类似于一种标准 好处:抽象类和接口便于程序的扩展与维护,在某些情况下,接口可以更方便地解耦4关系: 类与类之间的关系:是继承关系,并且只能够但继承 抽象类和具体类之间的关系:是继承关系,如果是一个具体类继承了一个抽象类,那么 该具体类必须要实现抽象类中的抽象方法,否则该具体类也将变成一个抽象类 类与接口的关系:是实现关系(implements),可以实现多个接口,如果是具体类实 现接口,那么必须要要实现接口中的所有的抽象方法,否则该具体类也将变成一个抽象 类 接口与接口的关系:是继承关系,并且可以多继承 多态 1好处:方便程序扩展与维护 2概念:一种事物有不同的表现形式 3用法 直接使用多态,注意instanceof关键字的用法。instanceof的用法是判断左边对象的引用是不是右边对象的一个实例 方法中参数使用多态:这是整个多态使用的核心部分 方法的返回值使用多态 单实例(Singleton): 判断一个类是不是单实例类,看是否满足一下四个要素:1该类必须是final的2该类中必须要有一个私有的、静态的、final的一个类的实例3必须要有一个私有的构造方法4要有一个静态的、返回该单实例的一个方法final、finally、finalize的区别1final的用法 修饰类的时候该类不能被继承 修饰方法的时候该方法不能被重写 修饰字段的时候该字段为常量。 修饰字段时的赋值方式有直接赋值和构造方法赋值两种形式2finally:是异常中的其中一个关键字,它不能单独使用,一般是和try-catch-fianlly 或者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论