- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06面向对象程序设计1–zw
2005-10-10 数组 面向对象程序设计1 ID:SCSJ001-Java Basic Syntax 课程目标 信息的隐藏和封装 this关键字 访问控制 对象的构造和初始化 方法的重载(overload) 静态域与静态方法(static) 信息的隐藏和封装 隐藏:指的是对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问 封装指的是将对象的状态信息(属性)和行为(方法)捆绑为一个逻辑单元的机制。 为什么需要封装 ? 编写一个类,代表softeem学员,要求: 具有属性:姓名、年龄 具有行为:自我介绍 softeem学员的最小年龄要求:18岁 编写一个测试类,要求: 实例化一个学员对象,并对其初始化 在控制台输出该学员的自我介绍 在java程序中,我们可以这样实现封装: 将属性私有化,提供公有方法访问私有属性 通过这些公有方法访问私有属性 在java程序中,我们可以这样实现封装: 将属性私有化,提供公有方法访问私有属性 通过这些公有方法访问私有属性 封装的实现: 1、修改属性的可见性来限制对属性的访问 2、为每个属性创建一对赋值(setter) 和取值(getter) 的公共方法,用于对这些属性的访问 3、在setter和getter方法中,加入对属性的存取限制 this关键字 Java中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。 构造器中指该构造器所创建的新对象 方法中指调用该方法的对象 this关键字的用法 在类本身的方法或构造器中引用该类的实例变量和方法 用来调用其他的重载的构造器 ThisDemo public class ThisDemo { private String demo; private int age; public String getDemo() { return demo; } public ThisDemo(){ } /** * @param demo * 调用无参数的构造函数 * 调用类的成员变量 */ public ThisDemo(String demo){ //ThisDemo t= new ThisDemo(); this(); this.age=18; } public void simple(){ this.print(); } public void print(){ System.out.println(print();); } //避免引起歧义 public void setDemo(String demo) { this.demo = demo; } } 访问控制 在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。 访问控制 访问控制的限制程度从高到低如下图所示。注意,default不是一个修饰符,它只是用来表示一种不加任何修饰符时的状态。 完整的类定义语法 [访问控制符][修饰符] class 类名 [extends 超类] [implements 接口表] { //类体 构造函数 成员变量 成员方法 } 为什么需要构造方法? 开发softeem学员类SofteemStudent3,要求: 具有属性:姓名、年龄、学号 具有行为:自我介绍 编写一个测试类,要求: 实例化一个学员对象,并对其初始化 在控制台输出该学员的自我介绍 构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值 带参数的构造方法 通过带参数的构造方法,显式地为实例变量赋予初始值 通过调用带参数的构造方法,简化对象初始化的代码 对象的构造和初始化 Student s1;为引用类型变量分配引用空间 new Student (Lisa,Male,1,18 ); 创建一个新的对象,并进行属性(实例变量)的默认初始化 各种数据类型作为实例变量时的默认初始值参见下表 对象的构造和初始化 执行构造方法:将传递进来的四个参数的值分别赋给四个属性 s1 = new Student(Lisa,Male,1,18); 对象的构造和初始化 最后,对引用类型变量s1赋值。将新创建的Student对象的存储空间的首地址赋给s1 构造方法小结 构造方法是类的一种特殊方法,它的特殊性主要体现在如下的几个方面: 1、构造方法的方法名与类名相同。 2、构造方法没有返回类型。 3、构造方法的主要作用是完成对类对象的初始化工作。 4、构造方法不能像一般方法那样用“对象 .”显式地直接调用。(而是在创建新对象的同时,系统自动调用该类的构造方法为新对象初始化。) 一个类中可以定义多个构造方法吗? 生活中的方法重载 方法重
文档评论(0)