文档详情

Core Java 第六章知识点总结.doc

发布:2017-03-25约字共7页下载文档
文本预览下载声明
Core Java 第六章知识点总结——面向对象 知识点预览 ? 对象的概念 类的概念 方法 方法的重载(Overloading) 构造方法 对象与引用 this关键字 ? 对象的概念 ? 1. 什么是对象(具体的定义状态(属性)和行为(方法)的一个实体) 一切客观存在的事物都是对象 2.对象的组成 属性 有什么(描述对象) 对象的属性也可以是对象 方法 能做什么(自己使用 别人使用) 3.计算机世界中的对象(连续的存储空间) 类的概念 1. 类是什么 具有相同行为和状态的对象的集合 a)类是对大量共性的抽象 b)类是客观事物在人脑中的主观反映 c)类是创建对象的模板 ? 先有类,后有对象 class Student{ ??????? String name;//属性、实例变量、成员变量 ??????? int age; } 2. 定义类、创建对象 a)????????创建对象 new Student(); b)???????定义一个变量存储创建的对象 Student s; s = new Stuent(); 可写在一起 Student s = new Stuent(); ? 基本类型?8种 对象类型(引用):数组、对象、接口 3. 实例变量(类中的变量) 属于对象 a)访问 . b)属性初始化 class Student{ ?????? String name = “suns”; ?????? int age; } 4. 实例变量(类)与局部变量(方法)的区别 局部变量 先赋值后使用 作用范围(从定义的代码块开始到定义的代码块结束) 命名不可冲突(同一作用范围内) 实例变量 可以不赋值就使用 a)实例变量存在默认值(各种各样的0) b)实例变量至少在本类的范围内有效 c)实例变量可以和局部变量命名冲突,局部变量优先使用 ? 方法 ? 方法声明、方法实现 1. 格式 修饰符 返回值类型 方法名(参数1,参数2) [异常]{ ??方法体 } ? 方法的重载(Overloading) 1. 方法重载(Overloading)?同一个类中方法名相同、参数不同 2. 源码参考 ? class A{ ??????? //参数个数不同 ??????? void m(){} ??????? void m(int a){} ??????? void m(int a,int b){} ??????? //参数类型不同 ??????? void m(String s){} ??????? //参数类型相同但排列不同 ??????? void m(int a,String s){} ??????? void m(String s,int a){} ??????? //形参名字不同 不算重载 ??????? void m(int a){} ??????? void m(int b){} } 3. 方法重载的意义 对方法的调用者屏蔽因方法参数不同所造成的差异 ? 构造方法 ? 特殊性:定义语法作用 1.构造方法的概念 ?????? publicStudent(){ ? } a)没有返回值类型(和没有返回值void不同) b)方法名同类名一致 c)用在对象的创建 构造对象 2.构造方法的重载 3.?构造方法的特点 a)构造方法不能手工调用,被JVM自动调用 Student s = new Student();//告诉虚拟机 s.Student(); b)构造方法在对象构造时,被自动调用一次,而且只会被调用一次 ?i.??????分配空间 ?ii. ?????初始化属性 ?iii.?????调用构造方法 c)构造方法没有返回值 d)如果一个类中没有定义构造方法,系统默认提供一个公开的、无参的空构造方法 4. 构造方法的使用场景 构造方法经常用于给实例变量赋值 ? 对象与引用 ? 1.引用概念 Student s; s = new Student(); 2.引用存储的是对象内存空间的首地址 s.print();//遥控器与电视机的关系 s指向首地址 3.程序中的值传递 简单类型存储值(在内存中) 对象类型存储地址 [java]?view plaincopy //TestValue1.java??? package?chp6.ex08;?? ?? /**? ?*?? ?*?说明:本程序演示了值传递?结果为10?基本类型?内存中存的是值? ?*/?? public?class?TestValue1?{?? ??public?static?void?main(String?args[]){?? ??????int?a?=?10;?? ??????int?b?=?a;?? ??????b++;?? ??????System.out.println(a);??
显示全部
相似文档