01Java高级编程-面向对象高级话题2014.ppt
文本预览下载声明
第一周周一内容 面向对象高级主题 本节内容 类的组成 对象,对象相等?(==与equals) 封装、继承和多态 抽象类与接口 面向接口编程 类或对象关系,代码复用 关键字static、final、abstract等 内部类,枚举类 1、类的组成 请举例,如Car类,请尽你的理解给出一个类可以有哪些要素组成 1、类的组成 定义类的语法格式: [修饰符] class 类名 {….类体…..} 类体可以由多个属性、方法、构造器组成。 注意:类的修饰符可以是public、final 或省略这两个以及abstract。类名只要是合法的标识符. 一个类里可以包含三种最常见的成员:构造器、属性、方法。 1、类的组成 定义属性的语法格式: [修饰符] 属性类型 属性名 [= 默认值]; 修饰符可以是 访问权限: public:可被任何类访问。 protected:被类自身,子类及同一包中的类访问。 default:也称友好,被类自身和同一包中的类访问。 private:只能被类自身访问。 其他: transient声明一个暂时性变量,对象存档时不必保存该变量; final声明一个常量,程序不能改变其值,通常用大写; voltatile用于声明一个共享变量,用于多个并发线程共享; static: 表示类成员。 成员变量和局部变量 成员变量指的是在类范围里定义的变量;局部变量指的是在一个方法内定义的变量。 不管是成员变量还是局部变量都遵守相同的命名规则。 成员变量分为类属性和实例属性.对于类属性无论通过类还是对象来访问都是访问同一个对象,只要一个对象改变了类属性,那么其他对象对应的类属性也改变了.成员变量不用显式初始化,只要定义了一个类属性或实例属性,系统默认进行初始化。 局部变量 局部变量可分为三种: 形参 方法局部变量 代码块局部变量. 与成员变量不同的是除了形参外,其他局部变量都必须显式地初始化, Java 里允许局部变量和成员变量重名。这样局部变量会覆盖成员变量,这时通过this 来调用实例的属性. 成员变量的初始化 当类被加载时,类成员就在内存中分配了一块空间。 当对象被创建时,实例成员就在内存中分配了内存空间。 实例变量与实例共存亡;类变量与类本身共存亡。 局部变量的运行机制 局部变量仅在方法内有效。 当方法执行完成时,局部变量便会自动销毁。 1、类的组成 定义方法的语法格式:[修饰符] 方法返回值类型 方法名(形参列表) {….方法体….} 方法中的修饰符可以是public ,protected,private,static, final,abstract,其中访问控制符只能出现一个,abstract ,final 只能出现其一. 返回值类型可以是基本类型和引用类型,如果无返回值,要用void 来声明 形参列表,可以由零到多组组成,参数之间用逗号(“,”)隔开. static 是一个特殊的关键字,译为”静态”,所有有static 修饰的叫类属性,类方法,类成员. 1、类的组成 定义方法的语法格式:[修饰符] 方法返回值类型 方法名(形参列表) {….方法体….} 方法的调用: 1、类的组成 定义方法的语法格式:[修饰符] 方法返回值类型 方法名(形参列表) {….方法体….} 方法的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。 如: public class Test { public static void main(String [] args){ int isum; double fsum; isum=add(3,5); isum=add(3,5,6); fsum=add(3.2,6.5); } public static int add(int x,int y) { reutrn x+y; } public static int add(int x,int y,int z) { return x+y+z; } public static double add(double x,double y) { return x+y; } } 修饰词 访问权限: public: protected: private: default: 其他 abstract修饰的为抽象方法,必须被重写,抽象类不一定包含abstract方法,但如果一个类包含abstract方法,该类必须声明为抽象类; final修饰的方法不能再被类重写; native用于将java代码和其他语言的代码集成起来; synchronized用来控制多个并发线程对共享数据的访问。 st
显示全部