黑马程序员技术交流社区

标题: 面向对象总结 [打印本页]

作者: 臧盼    时间: 2012-12-8 12:21
标题: 面向对象总结
1.面向对象的三大特征为封装、继承、多态。
2.类于对象的关系:类是对象的模板,对象是类的实例,类只能通过对象才可以使用。
3.类的组成为属性和方法。
4.对象的产生格式:类名称 对象名称 = new 类名称() ;
5.如果一个对象没有实例化而直接使用,则使用时会出现空指向异常。
6.类属于引用数据类型,进行引用传递时,传递的是堆内存的使用权。
7.类的封装性:通过private关键字进行修饰,被封装的属性不能被外部直接调用,而只能通过setter或getter方法完成。只要是属性,则必须全部封装。
8.构造方法可以为类中的属性初始化,构造方法与类名称相同,无返回值类型声明,如果在类中没有明确地定义出构造方法,则会自动生成一个无参的什么都不做的构造方法,在一个类中的构造方法可以重载,但是每个类至少有一个构造方法。
9.在java中使用this关键字可以表示当前对象。通过"this.属性"可以调用本类中的构造方法,但是调用时的要求要放在构造方法的首行。
10.使用static声明的属性和方法可以由类名称直接调用,static属性是所有对象共享的,所有对象都可以对其进行操作。
11.如果需要限制类对象的产生,则可以将构造方法私有化。
12.对象数组的使用要分为声明数组和为数组开辟空间两步。开辟空间后数组中的每个元素的内容都是null。
13.内部类是在一个类的内部定义另外的一个类,使用内部类可以方便地访问外部类的私有操作。在方法中声明的内部类要想访问方法的参数,则参数前必须加上final关键字。
14.继承可以扩充已有类的功能,通过extends关键字实现,可将父类的成员(包含数据成员与方法)继承到子类。
15.java在执行子类的构造方法前会先调用父类中的无参的构造方法,其目的是为了对继承自父类的成员做初始化的操作。
16.父类有多个构造方法时,如果要调用特定的构造方法,则可在子类的构造方法中通过super()关键字来实现。
17.this()用于在同一类内调用其他的构造方法,而super()则用于从子类的构造方法中调用其父类的构造方法。
18.使用this调用属性或方法时会先从本类中查找,如果本类中没有查找到,在从父类中查找,而使用super则会直接从父类中查找需要的属性或方法。
19.this()于super()其相似之处在于:(1)当构造方法有重载时,两者均会根据所给予的参数的类型与个数正确的执行相对应的构造方法。两者均必须编写在构造方法内的第1行,也正是这个原因,this()于super()无法同时存在在同一个构造方法中。
20.重载(overloading)是指相同类内定义名称相同但参数个数或类型不同的方法,因此,java可依据参数的个数或类型调用相应的方法。
21.覆写(overriding)是在子类当中定义名称、参数个数于类型均与父类相同的方法,用以覆写父类中的方法。
22.如果父类的方法不希望被子类覆写,可在父类的方法前加上final关键字,这样改方法便不会被覆写。
23.final的另一个功能是把它加在数据成员变量前面,这样该变量就变成了一个常量,使用public static final可以声明一个全局常量。
24.java对象的多态性分为向上转型(父 f = new 子())和向下转型(子 z = (子)f),注:只有发生了向上转型,才可能发生向上转型
25.抽象类的作用类似于"模板",其目的是依据其格式来修改并创建新的类。
26.抽象类不能直接用来产生对象,必须通过对象的多态性进行实例化操作。
27.接口是方法和全局常量的集合,接口必须被子类实现,一个接口可以同时继承多个接口,一个子类可以同时实现多个接口
28.java中并不允许类的多继承,但是允许实现多个接口





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2