版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内容C熟悉类和对象概念设计类,体现类的封装性O staticT解与使用O final T解与使用,对象间参数传递f4.1面向对象程序设计简介:新的对象类由继承愿有对象类的某些特性或全部特性而产 ,原有对象类称为基采(或凰类.父类),新的对象类称为 或子姜),派生类可以直簇继承基类的共性,又允许派生 自己的个性。:莠薯番覆養畫粵蓼彖可以对相同的类做出适当的不同相0我要去北京装务无番生发仁覆封服时继生鑿蕃面冏戒象的基本思想進,从现实世界中 客观存在的事物出发來构造软件系统,并在 系纯的构造中尽可能运用人类的自然舷JAVA语言中万事万物都是对象传统思维方式T1挂挡F11 /J北京第步J C第二步J
2、C第三步J第五步)(第六步我要去北京我车五子棋游戏白子走面向对象思维方式传统思维方式却步) c第二步) c第三步J c第四步J C第五步J (、八 J第毛步;c第八步五子棋游戏开车面向对象思维方式传统思维方式第八步)(第九步_) c第二步)(:第三步_) C笫四步) C笫五步J c第人步了1变绿r 、 I车止JkJ开车车面向对象思维方式交通灯其人逍路施匚类是由对象抽象出來的数据模板对象用计算机语言对行为域事物的 描述,在JAVA世界里力事万物都是 对象对象都有状态和行为.4.1.1类和对象的概念class人类吃饭()类的组成类可以定义为数据和方法的集合class狗类if(俺闲着没事)疯狂抓耗子
3、陪主人溜弯溜狗(狗类撒摩耶) 牵着心爱的撒摩耶通过腰部带动大腿上抬. 小腿 向前迈进,后腿跟上, 两腿交换动作.Int身高; int体重; int年龄; String名字 走路()String狗毛颜色; Int体重; int年龄;String品种撒摩耶 健身()旅行社记帐航班目录记帐文件预定 机票旅客准备 机票抽象岀下面系统中的“类及 其关系。每个对象都有自己特定的属性和行为4.1面向对象程序设计简介其个 体其个 体对象川计笄机语言对行为域爭物的描述类和对象的关系继承关系聚合关系实现关系多态关系4.2类的声明面向对象需要考虑1分析组成问题的数 据,进而抽象出数据 模版一从具体到抽 象的过程;2
4、、由抽象出来的类生 产对象,运用对象间 的消息传递解决问 题一一从抽彖到具体 的过程。4.2类的定义用义一个类,例如: class Person 成员变量定义 public int age; public String name;方法定义public int getAge() return age; public void setAge(int i) age = i; /主方法public static void main(String args)4.2类的声明类修饰符列表类修饰符kH J 7 U功能无(默认)同包访问public完全开放、abstract抽彖linal没有子类修饰符class
5、类名extends超类名implements接1列农 类体;类名的规范:描述类的用途;首字母大写;多个单词连写时每 个认词首字母大厲。类休主要包含四部分内容:成员变量、构造方法、成员方很匸方法。9s约定俗成的命名规则变量名和方法名的首字母小写运用驼峰标识同步方法,多线程成员变杲修饰符|功能static静态方法final最终方法,不能彼子类重写native本地方法,调用其它编程语言接口abstract抽象方法,子类中应实现此方法4.2.1成员方法的声明syn chronized4.2.1成员变量的声明成员变量修饰符功能 Hprivate限制类外访问君同包访问protected同包及子类访间pub
6、lic完全开放static静态final常量Ivolatile可被多个线程访问,易失域transie nt变量为非持久化数据修饰符变量类型变量名【=值6?所有成员变量,如果不附初值,都有默认初值。修饰符变量类型变量名=值所有成员变屋,如果不附初值,都有默认初们成员变量成员变量类型取值byteoshortointolongOLcharuOOOO1floatO OFdouble0.0Dbooleanfalse所有引用类型null成员变最的作用域是整个类体作用域同一个类同一个包不同包於privateyesdefaultyesyesprotectedyesyesyespublicyesyesyes不同
7、包的非于类yes对象的创建和使用必须使用new关键字创建对象。使用对象(引用)成员变量或来引用对象的成员变量。使用对象(引用)方法(参数列表)来调用对象的方法。同一类的每个对象有不同的成员变量存储空间。同一类的每个对象共享该类的方法。422构造方法的声明构造方法的定义:1、一般为public;2、没有返回类型,不写void;3、与类名同名;4、不能直接调用,由new调用,创建对象;5、主要任务:对象的成员变:的初始化。 public类名()方法体;422构造方法的声明public class Personint age;String name;1public Person() age = 12
8、;name = “zhangsan”;如果一个类没有构造方法,系统会自动仓ij建一个无参时构造方法。wC4.2.2构造方法的声明johnL Xo gJLol 8 S 1*0X90丄n 匕 zi. JLd n 7 ago X 7public class Test public static void main(String args) Person tom = new Person(lz25); Person john = new Person (2,27); : Ar *#1堆内存252270/定义如下类:class BirthDateprivate int private int priva
9、te int -public BirthDate(intint int y) day = d; month = m; year = y;day; month; year;public void setDay(int d) day 二 d; public void setMonth(int m) month = m;( public void setYear(int y) year = y; public int getDay0 return day;) public int getMonthO return month; public int getYear() (return year; p
10、ublic void display() System.out.printin(day + ” -竹 + month + - ” + year);public class Test .#public static void main(String args) Test test = new Test();int date = 9;BirthDate dl= new BirthDate(7,7r 1970); BirthDate d2= new Bi代hDate(1,1,2000); test.changel(date);testchange2(dl); test.ch2nge3(d2);Sys
11、tem .out. println(,Tdate=n + date); dl.display();d2.di splay ();public void changel(int i)i 二 1234; public void change2(BirthDate b) b = new BirthDate (22,2,2004); public void change3(BirthDate b) b.setDay(22);方法的重载方法的重载是指一个类中可以定义 有,但的多个方法。调用吋,会根据不同的参数 表选择对应的方法。void info() Sys tern. out. prin tln(My
12、 id is n+id);1 void info(String t) Sys tern. out. println(t+,1 n+id+T, Hage);利用修改丿不的Person类编写程序,分别用三种构造 方法创建三个person对象i) 内存分析public class Test public static Person pl Person p2 int age =栈内存IIp21 X卜pl X 卜(1)void main(String args)=new Person(1, 22);=new Person(2, 23);.25;构造方法的重载与普通方法一样,构造方法也可以重载。 例如:P
13、erson类Person()( id = 0;age = 20;Person(int i)( id = 0; age = i;Person(int n,int id = n;aaeplsetAge(age); p2setAge(age+);内存分析(2)public class Test public static Person pl Person p2 Int age =void main(String args)=new Person(122);=new Person(2, 23); 25;*plsetAge(age); p2setAge(age+);public class Testpu
14、blic staticPerson plPerson p2 int age = plsetAge(age);p2setAge(age+);void main(String args)=new Person(1, 22);=new Person(2, 23); 25;栈内存ageP2P1内存分析(4)public class Test a 2 32 2public static void main(String Person pl = new Person(1, Person p2 = new Person(2 9 int age = 25; pl.setAge(age);p2setAge(ag
15、e+);栈内存堆内存复习:对象的创建和使用必须使用new关键字创建对象。使用对象引用成员变量来引用。使用对象引用方法(参数列表)来调用对象的 方法。同一类的每个对象有不同的成员变量存储空间。同一类的每个对象共享该类的。this 关键字在类的方法定义屮使用的this关键了代衣使用该方法的对 象的川II。B当必须指出当前使用方法的对象是谁时要使用this.有时使用this可以处理方法中成员变量和参数重名的怙浣 This可以看作是一个变量,它的值是当前对象的引用。public class Leafint i = 0;Leaf System, out .printin (fri = +i) ; public static void main(String args)Leaf leaf = new Leaf (100);leaf.increament(.increament().print);static 关键字在类中,用static声明的成员变量为静态成员变量,它 为该类的公用变量,徐第次便川时被初始化,对丁该 类的所有对象来说,static成员变量是唯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国自动控制仪表市场调查研究报告
- 2025至2031年中国酒店樽行业投资前景及策略咨询研究报告
- 2025至2031年中国秋千钩行业投资前景及策略咨询研究报告
- 食叶草蛋白的提取、结构特征分析及其乳化特性研究
- 2025年度钢材国际贸易结算合同2篇
- 二零二五年度全球定居方案定制合同2篇
- 2025年度教育培训代工服务合同4篇
- 2025年度个人家具买卖及定制服务合同4篇
- 2025年度工业用途铁棚建设及安全保障合同范本4篇
- 二零二四年度中小企业市场拓展战略咨询服务合同3篇
- 湖北省十堰市城区2024-2025学年九年级上学期期末质量检测综合物理试题(含答案)
- 2024企业答谢晚宴会务合同3篇
- 电气工程及其自动化专业《毕业设计(论文)及答辩》教学大纲
- 《客舱安全管理与应急处置》课件-第14讲 应急撤离
- 中华人民共和国文物保护法
- 2025届高考作文押题预测5篇
- 节前物业安全培训
- 阿里巴巴国际站:2024年珠宝眼镜手表及配饰行业报告
- 高甘油三酯血症相关的器官损伤
- 手术室护士考试题及答案
- 牙膏项目创业计划书
评论
0/150
提交评论