欢迎来到天天文库
浏览记录
ID:36203717
大小:381.81 KB
页数:39页
时间:2019-05-07
《java中的类与接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章Java中的类与接口教授:郭磊【本章导读】Java语言其中一个突出特点就是面向对象。所谓面向对象的方法学,就是使我们分析、设计和实现一个系统的方法尽可能地接近我们认识一个系统的方法。包括:面向对象的分析(OOA,Object-OrientedAnalysis),面向对象的设计(OOD,Object-OrientedDesign),面向对象的程序设计(OOP,Object-OrientedProgram)。本章主要介绍面向对象的基本概念,包括类与对象、抽象类、内部类、匿名类、接口和包等。目的是为以后的Jav
2、a面向对象的编程打好基础。【本章要点】类与对象抽象类内部类匿名类接口包3.1类与对象3.1.1类的声明1、类的声明格式:<类首声明>{<类主体>}类首声明定义类的名字、访问权限以及与其它类的关系等。类主体定义类的成员,包括变量(数据)和方法(行为)3.1类与对象3.1.2类首声明:[<修饰符>]class<类名>[extends<超类名>][implements<接口名>]class:类定义的关键字;extends:表示类和另外一些类(超类)的继承关系;implements:表示类实现了某些接口;修饰符:表示类
3、访问权限(public)和类型说明(abstract、final);3.1类与对象3.1.3成员变量的声明格式:[<修饰符>][static][final]<变量类型><变量名>static:表示是一个类成员变量(静态变量);final:表示是一个常量;例:finaldoublePI=3.1415926;修饰符:表示变量的访问权限(缺省访问friendly、public、protected和private)作用域:整个类。同一类中的所有方法都可以对其访问。并可简单地通过名字来引用。(在方法体内定义的变量是局部变
4、量,作用域只能在方法体内)3.1类与对象3.1.3成员方法方法的定义包括两部分:方法声明和方法体。一般格式为:方法声明部分{方法体的内容}3.1类与对象3.1.4对象的创建与引用1、对象的创建创建一个对象包括对象的声明和为对象分配成员变量两个步骤。(1)对象的声明对象声明的一般格式为:类的名字对象名字;如:RectrectangleOne;这里,Rect是一个类的名字,rectangleOne是我们声明的对象的名字。用类声明的数据称为类类型变量,即对象,如上述Rect类声明的对象rectangleOne。3.1
5、类与对象1、对象的创建(2)为声明的对象分配成员变量为声明的对象分配成员变量,即是给变量分配内存空间。使用new运算符和类的构造方法为声明的对象分配成员变量,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无参数的,你一定还记得构造方法的名字必须和类名相同这一规定),上述的Rect类提供了2个构造方法,下面都是合法的创建对象的语句:rectangleOne=newRect();3.1类与对象2、对象的引用我们已经知道,当用类创建一个对象时,成员变量被分配内存空间,这些内存空间称做该对象的实体或变
6、量,而对象中存放着引用,以确保这些变量由该对象操作使用。因此,如果两个对象有相同的引用,那么就具有同样的实体。3.1类与对象3.1.5类的继承与多态只支持单重继承,不支持多重继承,只能从一个父类继承。必须从一个类继承默认是从Object继承如果类Sub是类Super的子类,则类Sub只继承超类Super中非private的成员变量和方法。子类Sub中,包括两部分的内容:从超类Super中继承下来的变量和方法,自己新增加的变量和方法。3.1类与对象3.1.5类的继承与多态继承的语法修饰符class类名extend
7、s父类{新属性;新方法;重载的方法;覆盖的方法;}3.1类与对象3.1.5类的继承与多态多态是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。通过方法的重载和覆盖来实现多态性。方法的重载一个类中,有若干个方法名字相同,但方法的参数不同,称为方法的重载。不正确的方法重载publicvoidfunover(inta,floatb)publicintfunover(inta,floatb)3.1类与对象3.1.5类的继承与多态对于多态,可以总结它为:(1)使用父类类型的引用指向子类的对象;(2)该引
8、用只能调用父类中定义的方法和变量;(3)如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)(4)变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。3.2抽象类Java也可以创建专门的类用来当作父类,这种类称为抽象类(abstractclass)。即用关键字abstract修
此文档下载收益归作者所有