欢迎来到天天文库
浏览记录
ID:52278713
大小:207.00 KB
页数:84页
时间:2020-04-03
《Java程序设计开发教程【第4节--Java程序结构】.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、返回第4章Java程序结构Java语言是一种纯面向对象的程序设计语言,它的核心概念是类和对象,它的程序是基于类和对象建造的,程序中类的结构决定了程序的结构。这一章较深入系统地介绍Java程序的结构,介绍组成Java程序的类之间的关系。Java程序结构类层次结构对象的使用与对象间通信多态性接口与包访问控制与修饰符类层次结构继承的概念继承的描述类的继承规则变量的隐藏继承的概念在日常生活中,我们常用“是一种(is-a)”关系来组织与表达知识,从而将知识组织成一种有层次、可分类的结构。面向对象程序设计方法将is-a关系引入到程序设计领域,用于描
2、述类与类之间的关系,称之为继承。多态性同一运算或方法(如“+”)对不同类型的对象(如整型数,或字符串)有不同的语义解释。这种在程序中同一方法对不同类型的对象有不同解释的现象称为多态性多态性与继承是密不可分的。通常,两类对象都有共同的父类,在父类中定义的方法在这两个子类中分别有不同的实现超类与子类我们在声明类A时,指明类A继承了类B(类B是一个已定义了的类),则类A通常就拥有了类B的成员变量和方法。此时,类B称为类A的直接超类(superclass),超类也称为父类或基类;类A称为类B的直接子类(subclass),子类也称为派生类继承的
3、描述Java语言中,声明类首部的格式如下:[类的修饰符]class类名[extends超类名][implement接口名表]其中“extends超类名”部分就是用来描述继承的,这里超类名指明所声明类的直接超类继承描述的演示classCar//声明Car类{intcar_number;voidset_number(intcar_num){car_number=car_num;}voidshow_number(){System.out.println("我的车号是:"+car_number);}}classTrashCarextendsCa
4、r//声明TrashCar类,它继承Car类{intcapacipy;voidset_capacity(inttrash_car_capacipy){capacipy=trash_car_capacipy;}voidshow_capacity(){System.out.println("我的容量是:"+capacipy+"");}}类的继承规则直接子类继承那些被声明为public或protected的直接超类成员(包括成员变量和成员方法,下同)直接子类继承那些未被存取权限修饰符修饰的直接超类成员,只要该子类与该超类在同一个包中如果直接子
5、类声明了一个与直接超类中的成员同名的成员,则该子类不继承该超类中的该同名成员直接子类不继承被修饰为private的直接超类的成员变量的隐藏直接子类声明了一个与其直接超类的成员变量同名的成员变量,则称该超类的该成员变量在该直接子类中被隐藏,关键字this和super分别用来指明直接子类和其直接超类中同名的成员变量当超类的成员变量、子类的成员变量和类中方法使用的局部变量三者同名,或其中的两者同名时,可以使用关键字this和super来指定所要使用的变量this和super区别同名变量的演示classA{intx;//类A中声明了成员变量x┇
6、}classBextendsA//类B继承类A,也继承了类A的成员变量x{intx;//类B中又声明了成员变量x┇voidm(){intx;//方法m声明了自己的局部变量x┇super.x=2;//super.x是其所在类的父类即类A的xthis.x=1;//this.x是其所在类即类B的xx=100;//x是方法本身的局部变量x┇}}对象的使用与对象间通信对象的创建对象的使用对象间的通信(消息)与实例方法的调用对象的创建Java中,类是某一类对象的共同特征(属性、行为)的描述,即类中含有某一类对象具有哪些属性、哪些行为的信息。而由类创
7、建的多个对象都具有类所定义的那些属性和行为。但是,由同一个类所创建的不同对象的同一个属性的值可能不同对象的生命周期对象和现实生活中的事物一样,有它的产生、发展和消亡的过程,在Java中分别称之为对象的创建、使用和释放,这一过程称为对象的生命周期定义一个学生类classStudent//Student是学生类名{//定义成员变量privateintsNumber;//学号privateStringsName;//姓名privateStringsClass;//班号。以下是定义成员方法voidsetSNumber(intxNumber)//
8、成员方法setSNumber{sNumber=xNumber;}intgetSNumber()//成员方法getSNumber{returnsNumber;}voidsetSName(StringxName
此文档下载收益归作者所有