本帖最后由 北冥鲲鹏 于 2016-5-23 18:11 编辑
一、 我也是黑马基础班的一名学员,马上就要就业班点招考试了,在此总结了面向对象的知识点,共享给大家 面向面向对象 1. 面对对象的理解:面向对象是基于面向过程的。在开发过程中,要完成特定的功能就去找相应的对象,如果找不到就创建相应的对象,使用对象,维护完善对象 2. 面对对象的特征:封装,继承,多态 3. .面向对象和面向过程的区别:面向过程强调的是功能行为;面向对象将功能封装成对象,强调的是具备功能的对象 4. . 如何创建使用对象:类名 对象名=new 类名(); 如何使用成员变量,对象名.类名 如何使用成员方法, 对象名.方法名() 5. A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 B:在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) C:生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 D:初始化值不同 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。 注意: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。 6. 匿名对象:没有名字的对,调用方法:new 类名(); 使用:对象中的方法只调用一次,可以使用匿名对象. 用做参数的传递 7. 封装的好处:隐藏了实现细节,提供了公共的访问模式 提高了代码的复用性 提高了安全性 8. 四种权限修饰符作用范围 | 本类 | 同一个包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | private | √ | | | | 默认 | √ | √ | | | protected | √ | √ | √ | | public | √ | √ | √ | √ |
A. private:是一个权限修饰符,可以修饰成员变量和成员方法,被其修饰的的成员只能在本类中访问。 9. 状态修饰符: A static :静态修饰符,特点随着类的加载而加载;优先于对象存在;被所有对象所共享;可以直接被类名所调用。 静态方法只能访问静态成员,非静态方法既可以访问静态也可访问非静态 静态方法中不可以定义this、super关键字,因为静态优先于对象存在,所以静态方法中不可以出现this; B final:(注意final、finally、finalize的区别) final修饰的变量只能赋值一次,不能发生改变,如果修饰的基本类型,是其值不能发生改变,如果修饰的引用数据类型,是地址值不能发生改变; final修饰的方法不能被重写; final修饰的类不能被继承,也称最终类。 注意: finally:异常处理try()..catch()时使用,可以添加也可以不添加,用于执行一些必须执行的代码,如关闭资源等 finalize:Object类中的方法,其中定义了对象要被垃圾收集器回收之前要做的相关的清理工作 11.抽象修饰符 abstrsct:抽象类特点 a :抽象类和抽象方法必须用abstract关键字修饰 abstract class 类名 {} public abstractvoid eat(); b :抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口 c :抽象类不能实例化那么,抽象类如何实例化呢? 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。 d :抽象类的子类 要么是抽象类 要么重写抽象类中的所有抽象方法 问题: abstract与哪些关键字不能共存为什么? private:私有的方法是不可见的,无法被复写 final:被final修饰的方法是最终方法,无法被复写 static:被static修饰的方法,要随类加载到方法区,由于抽象方法没有方法体所以不能加载
|