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

上传人:沈*** 文档编号:175853067 上传时间:2022-12-20 格式:PPT 页数:23 大小:262.02KB
返回 下载 相关 举报
JAVA大学教学课件第六章对象和接口_第1页
第1页 / 共23页
JAVA大学教学课件第六章对象和接口_第2页
第2页 / 共23页
JAVA大学教学课件第六章对象和接口_第3页
第3页 / 共23页
点击查看更多>>
资源描述
主讲教师主讲教师:xxxxxx Java语言程序设计语言程序设计 6.1 什么类什么类-1 面向对象程序(OOP)语句能使现实世界中的概念,在计算机程序中变成模块。它包括整个程序、程序的模块及数据和算法。OOP语言有三个特征:封装性、继承性及多态性。所有这些特征与类的概念是息息相关的。类封装了一类对象的状态和方法。类是定义对象的模板。类的声明:class People .6.1 什么类什么类-2 6.1 什么类什么类-3类的声明与定义类的声明与定义:6.1 什么类什么类-4类的声明与定义类的声明与定义:public:这个这个public关键字声明了类可以在其它任何的类中使用。关键字声明了类可以在其它任何的类中使用。abstract:声明的类不能被实例化。声明的类不能被实例化。final:声明的类不能被继承,即不能有子类。声明的类不能被继承,即不能有子类。class NameOfClass:关键字关键字class指示编译器类的声明以及类的指示编译器类的声明以及类的名字是名字是NameOfClass。extends Super:这个这个extends 子句认为子句认为Super是类的父类。是类的父类。implements Interfaces:为了声明类可执行一个或多个接口,可为了声明类可执行一个或多个接口,可以使用关键字以使用关键字implements并且在其后面给出由类执行的接口名并且在其后面给出由类执行的接口名字的列表,它们是以逗号分隔的。字的列表,它们是以逗号分隔的。6.1 什么类什么类-5成员变量和局部变量成员变量和局部变量:(1)成员变量和局部变量的类型可以是任何一种数据类型。成员变量和局部变量的类型可以是任何一种数据类型。(2)成员变量在整个类内有效,局部变量只在定义它的方法内)成员变量在整个类内有效,局部变量只在定义它的方法内有效。有效。class Aint x;int f()int 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(float 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之前之前,并未对象分配空间。并未对象分配空间。0 x12341224p1xy 6.2 什么对象什么对象-2类中的访问权限类中的访问权限:访问指示访问指示 类类 子类子类 包包 所有所有 Private X Protected X X X Public X X X X Package X X 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)return 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 Test 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)使用使用super关键字。在子类中想使用被子类隐藏的父类的关键字。在子类中想使用被子类隐藏的父类的成员需利用成员需利用super关键字。关键字。6.3 类的继承类的继承-4public 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 parents /method nDepartment:+department;6.3 类的继承类的继承-5(7)instanceof 运算符运算符:public class Employee extends Objectpublic class Manager extends Employeepublic class Contractor extends Employee public void method(Employee e)if(e instanceof Manager)/Get benefits and options along with salary else if(e instanceof Contractor)/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 接口接口-2import java.awt.*;import 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);clip=getAudioClip(getCodeBase(),bg.au);tag=true;addMouseListener(this);6.4 接口接口-3public 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 destroy()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 包包-11、包声明必须在源程序文件的开始被声明、包声明必须在源程序文件的开始被声明2、一个源程序文件,只允许有一个包声明、一个源程序文件,只允许有一个包声明/Class Employee of the Finance department for/the ABC company package abc.financedept;public class Employee .3、包名称是分层的,由圆点隔开、包名称是分层的,由圆点隔开。包名都用小写字母表示。包名都用小写字母表示。4、通过包命名机制,可以确保类名的唯一性。、通过包命名机制,可以确保类名的唯一性。.sina5、如果源程序省略了包名,则源文件中定义的类默认为无名包的、如果源程序省略了包名,则源文件中定义的类默认为无名包的一部分。一部分。6.5 包包-26、如果程序使用了包、如果程序使用了包 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 包包-38、常用、常用JavaAPI包包:java.applet java.awt java.awt.event jave.lang java.io java.util 6.6 说明说明-1访问指示访问指示 类类 子类子类 包包 所有所有 private X protected X X X public X X X X package(缺省缺省)X X 类中的访问权限类中的访问权限:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!