JAVA大学教学课件第六章对象和接口.ppt

上传人:sccc 文档编号:5372161 上传时间:2023-06-30 格式:PPT 页数:23 大小:262.01KB
返回 下载 相关 举报
JAVA大学教学课件第六章对象和接口.ppt_第1页
第1页 / 共23页
JAVA大学教学课件第六章对象和接口.ppt_第2页
第2页 / 共23页
JAVA大学教学课件第六章对象和接口.ppt_第3页
第3页 / 共23页
JAVA大学教学课件第六章对象和接口.ppt_第4页
第4页 / 共23页
JAVA大学教学课件第六章对象和接口.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《JAVA大学教学课件第六章对象和接口.ppt》由会员分享,可在线阅读,更多相关《JAVA大学教学课件第六章对象和接口.ppt(23页珍藏版)》请在三一办公上搜索。

1、主讲教师:xxx,Java语言程序设计,Java语言程序设计,第六章:类、对象和接口,6.1 什么类-1,面向对象程序(OOP)语句能使现实世界中的概念,在计算机程序中变成模块。它包括整个程序、程序的模块及数据和算法。OOP语言有三个特征:封装性、继承性及多态性。所有这些特征与类的概念是息息相关的。类封装了一类对象的状态和方法。类是定义对象的模板。类的声明:class People.,6.1 什么类-2,6.1 什么类-3,类的声明与定义:,6.1 什么类-4,类的声明与定义:public:这个public关键字声明了类可以在其它任何的类中使用。abstract:声明的类不能被实例化。fina

2、l:声明的类不能被继承,即不能有子类。class NameOfClass:关键字class指示编译器类的声明以及类的名字是NameOfClass。extends Super:这个extends 子句认为Super是类的父类。implements Interfaces:为了声明类可执行一个或多个接口,可以使用关键字implements并且在其后面给出由类执行的接口名字的列表,它们是以逗号分隔的。,6.1 什么类-5,成员变量和局部变量:(1)成员变量和局部变量的类型可以是任何一种数据类型。(2)成员变量在整个类内有效,局部变量只在定义它的方法内有效。class Aint x;int f()int

3、 a;a=x;int g()int y;y=a;(3)成员变量又分为实例成员变量和类成员变量。class dogfloat x;static int y;(4)变量的名字与成员变量的名字相同,成员变量被隐藏。class Tomint x=98,y;void f()int x=3;y=x;(5)上面情况中要在该方法内使用成员变量,使用this;class Jerry float x,y,x;void g(float z)float x=1;y=23;this.x=x;this.y=y;this.z=z;,6.1 什么类-6,方法:(1)方法的重载。class Tom float jerry(fl

4、oat s)return s float jerry(float x,int y)return x*x+y*y;(2)构造方法。class Pointint x,y;Pointx=67;y=100;(3)类方法和实例方法。class Aint a=23;float max(float x,float y);static float jerry(),6.1 什么类-7,=和 equals()的区别传值和传引用内部类匿名类,6.2 什么对象-1,创建对象:(1)对象的声明。Point p1;(2)为声明的对象分配内存空间。p1=new Point();(3)p1是引用,使用new之前,并未对象分配

5、空间。,0 x1234,12,24,p1,x,y,6.2 什么对象-2,类中的访问权限:,6.3 类的继承-1,创建子类:格式如下:class Students extends People。(1)子类自然继承父类中不是private的成员。如果一个类没有使用extends关键字,系统默认是Object的子类。Object 是包java.lang中的类。(2)成员变量的隐藏和方法的重写。class Chengjifloat f(float x,float y)return x*y;class Xiangjia extends Chengji float f(float x,float y)re

6、turn x+y;public class Test public static void main(String args)Xiangjia sum;sum=new Xiangjia();sum.f(4,6);,6.3 类的继承-2,(3)运行时的多态性。class Shape float area()return 0.0;class Circle extends Shape float r;float area()return 3.14*r*r;class Rect extends Shape float x,y;float area()return x*y;public class Te

7、st public static void main(String args)Shape s;s=new Circle();s.area();,6.3 类的继承-3,(4)final类和final方法。final类不能被继承,final方法不能被修改。final class A class B extends A(5)abstract 类和abstract方法。abstract 类不能创建对象,必须产生子类,由子类创建对象。abstract方法,只允许声明,不允许实现。abstract 类可以没有abstract方法;但一个类如果有abstract方法,这个类必须用abstract修饰。(6)

8、使用super关键字。在子类中想使用被子类隐藏的父类的成员需利用super关键字。,6.3 类的继承-4,public class Employee private String name;private int salary;public String getDetails()return Name:+name+nSalary:+salary;public class Manager extends Employee private String department;public String getDetails()return super.getDetails()+/call pare

9、nts/method nDepartment:+department;,6.3 类的继承-5,(7)instanceof 运算符:public class Employee extends Objectpublic class Manager extends Employeepublic class Contractor extends Employeepublic void method(Employee e)if(e instanceof Manager)/Get benefits and options along with salary else if(e instanceof Con

10、tractor)/Get hourly rates else/temporary employee,6.4 接口-1,Java不支持多重继承,一个子类只能有一个父类。Java使用接口来实现多个接口。接口的定义与声明:interface Printable final int MAX=100;void add();float sum(float x,float y);接口的使用:class A impelents Printable,Addable。接口中的方法默认是public的,所以类在实现接口方法时,一定用public来修饰。,6.4 接口-2,import java.awt.*;impo

11、rt java.applet.*;import java.awt.event.*;import java.awt.event.MouseListener;import java.awt.event.MouseEvent;public class s extends Applet implements MouseListener Image img1,img2;AudioClip clip;boolean tag;public void init()img1=getImage(getCodeBase(),ys.jpg);img2=getImage(getCodeBase(),ws.jpg);cl

12、ip=getAudioClip(getCodeBase(),bg.au);tag=true;addMouseListener(this);,6.4 接口-3,public void paint(Graphics g)if(tag)g.drawImage(img1,0,0,this);clip.loop();else g.drawImage(img2,0,0,this);clip.stop();public void mouseClicked(MouseEvent parm1)/TODO:Add your code heretag=!tag;repaint();public void destr

13、oy()if(clip!=null)clip.stop();clip=null;public void mousePressed(MouseEvent parm1)public void mouseReleased(MouseEvent parm1)public void mouseEntered(MouseEvent parm1)/TODO:Add your code herepublic void mouseExited(MouseEvent parm1)/TODO:Add your code here,6.5 包-1,1、包声明必须在源程序文件的开始被声明2、一个源程序文件,只允许有一个

14、包声明/Class Employee of the Finance department for/the ABC company package abc.financedept;public class Employee.3、包名称是分层的,由圆点隔开。包名都用小写字母表示。4、通过包命名机制,可以确保类名的唯一性。.sina5、如果源程序省略了包名,则源文件中定义的类默认为无名包的一部分。,6.5 包-2,6、如果程序使用了包 package tom.jiafei;class People 那么你的目录结构必须为.tomjiafei;比如:c:projecttomjiafei,且你的classpath中含有 c:project 编译时使用:javac tom.jiafei.People;7、import语句 为使用Java提供的类,使用import语句来引入所需的类 import java.awt.*;import java.util.Date;,6.5 包-3,8、常用JavaAPI包:java.applet java.awt java.awt.event jave.lang java.io java.util,6.6 说明-1,类中的访问权限:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号