




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六讲类和对象(下)1一、类成员变量的定义定义: 访问权限符 static final 类型 变量名权限修饰符有: public、protected和privatestatic:在成员变量前说明该变量是静态变量。final:在成员变量前说明该变量是一个最终变量2修饰符 static static可以修饰类中的属性和方法。静态属性在类定义时静态地分配空间。它属于类,不属于某个特定的对象,因此可以通过类进行访问。往往将属于类的公共属性说明成static。3 Java实例 static成员变量class StaticTestpublic int x=1;public static int y=1;p
2、ublic class StaticTesterpublic static void main(String args)int i;StaticTest.y= StaticTest.y +1;StaticTest m=new StaticTest();StaticTest n=new StaticTest();m.x= m.x +3;m.y= m.y+3;n.x= n.x+5;n.y= n.y+5;System.out.println(m.x=+m.x+ + m.y=+m.y);System.out.println(n.x=+n.x+ + n.y=+n.y);4 Java实例 static方法
3、class Sta_method int width,height; public static double area(int width,int height) return width*height; public static void main(String args) int i,j; double f; i=Integer.parseInt(args0); j=Integer.parseInt(args1); f=Sta_method.area(i,j); /直接引用此方法 System.out.println(Area=+i+*+j+=+f); 5实例 书P89 例6-96课堂
4、练习:1、创建银行账户类Account,用静态变量存储年利率interest,用私有实例变量存储存款额balance。提供设置年利息的方法setInterest,计算年利息的方法calInterest和显示存款数额的方法showBalance;2、编写一个测试程序测试该类,建立Account类的对象saver,存款额是3000,设置年利率是3%,计算并显示对象saver的存款额、年利息率和该笔存款的年利息。7数学函数类 Math类库格式:类名.数学函数方法名(类型 实参1,类型 实参n )例: public class Max public static void main(String ar
5、gs) int x,y; x=Integer.parseInt(args0); y= Integer.parseInt(args1); System.out.println(最大值是+Math.max(x,y); 8第七章 类的继承和多态机制9一、类的继承在 Java 中,类是一个层次结构,其中Object为特殊超类或基类,所有的类都直接或间接地继承Object类;子类继承父类的属性和方法,同时也可以修改父类的属性或重载父类的方法,以及在父类的基础上添加新的属性和方法。因此,父类和子类之间反映的是“一般与特殊”的关系。10 父类与子类 在类的继承中,被继承的类称为父类,继承而来的类则称为子类。
6、有多个子类共同继承一个父类,那么这个父类就是多个类的基类。 Java语言只支持单继承,如果要定义多继承,可以使用将要讲解的接口方法。11继承的实现定义继承的形式为:访问权限 class 类名 extends 父类 类体 Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非private的属性和方法作为自己的成员。12子类与父类的成员变量与方法子类继承父类的所有成员变量和方法,但不包括父类中的由private修饰的部分子类中新增加的属性和方法是对父类的扩展子类中定义的
7、与父类同名的属性是对父类属性的隐藏,同名的方法是对父类方法的覆盖13实例 书P94 例7-114课堂练习书P104 715访问控制权限控制小结访问控制本类同一包中的类其他包中子类其他包中的类publicprivateprotected缺省16 修饰符 this将当前对象的引用变量传递给另一个方法;如果方法体内部定义的变量与成员变量名字相同或方法的入口参数与成员变量名相同。 如:class TestColorint r,g,b;TestColor(int r,int g,int b)this.r=r;this.g=g;this.b=b; 17 Java实例 thisclass Point pri
8、vate int x,y; public void setPoint(int a,int b) x=a; y=b; public int getX() return x; public int getY() return y; public String toString() return +this.getX()+,+this.getY()+; /引用类的方法 public static void main(String args) int i,j; i=Integer.parseInt(args0); j= Integer.parseInt(args1); Point dot=new Po
9、int(); dot.setPoint(i,j); System.out.println(dot.toString(); 18 方法的覆盖 Java允许子类对父类的同名方法进行重新定义,也就是子类中定义的方法与父类中已定义的方法名称相同,但方法的内容不同,这种多态就称为方法覆盖。 由于父类与子类有同名方法,所以在引用方法时需要指明引用的是父类的方法还是子类的方法。19Java实例方法的覆盖 class Shape public int y; public Shape() y=20; System.out.println(this is a Constractor of shape); publ
10、ic void measure() System.out.println(super_y=+y); class Rectangle extends Shape public int y; public void measure() super.measure(); /引用父类的measure()方法 y=super.y+y;20Java实例(续)System.out.println(Shape.y=+super.y); /引用父类的成员变量y System.out.println(Rectangle.y=+y); /引用子类的成员变量y class OverLay public static
11、void main(String args) int width=30,height=10; Rectangle tt=new Rectangle(); tt.y=height; /将height变量的值10赋给子类的成员变量y tt.measure(); /引用子类的measure()方法 21 this 与 super this表示的是当前对象本身或者说是当前对象的一个引用。 Super表示当前对象的直接父类对象,是当前对象直接父类的引用。如A类派生出子类B,那么B类是A类的直接父类。22Java实例super和this的使用class EmployeeString name;Employ
12、ee(String name) =name;public void showInfo() System.out.println(this is superClass call:+name);public void getInfo() showInfo();class Manage extends EmployeeString name;/注意与父类同名的成员变量String department;Manage(String n) super(n);23Java实例(续)public void showInfo()super.showInfo(); /调用父类的方法System
13、.out.println(this is subClass call:+name);System.out.println(department);public class CoverMethodpublic static void main(String args)Manage aa=new Manage(李四);=张三;aa.department=经理室;aa.getInfo();24修饰符 final 用final声明的类(最终类)不能再有子类;方法(最终方法)不能再被覆盖或重载;成员变量(最终属性)初始化后,不能再被赋值也就是修改成员变量的值(如PI=3.1415926是不能改变的)。25 Java实例 finalclass FinalCal private dou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咖啡馆场地租赁合同
- 建筑单价施工合同
- 亮化工程合同协议书
- 北京租房居间合同
- 会议接待流程优化方案
- 室外地砖施工方案
- 老路破除修补施工方案
- 别墅屋顶防水施工方案
- 浮吊桁架吊装施工方案
- 堤坝加固施工方案
- 铁路机车车辆制动钳工(高级)职业鉴定考试题及答案(新版)
- 统编版语文七年级上册第三单元整本书阅读《朝花夕拾》公开课一等奖创新教学设计
- 2024-2030年中国辐射探测器行业市场发展趋势与前景展望战略分析报告
- HSE知识能力测验试题大全附答案
- 国际经济与贸易《大学生专业劳动实践》教学大纲
- 工作谈心谈话100篇简短
- BOSCH共轨喷油器维修基本知识摘要
- 蜀道难全文注音版
- 月子中心护理部护理档案模板
- 房地产 -旭辉第五代住宅产品手册 H系全产品结构及标准化体系-(上)
- 养老机构认知症老人非药物干预疗法操作指南
评论
0/150
提交评论