欢迎来到天天文库
浏览记录
ID:58883116
大小:107.00 KB
页数:42页
时间:2020-09-30
《java期末复习课件第04讲面向对象程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA语言第4讲 面向对象程序设计(2)--继承2021/7/30上一讲回顾1.面向对象的基本特征(封装、继承和多态);2.类的定义、对象的创建和引用方法;3.定义类时的各种细节,构造函数的定义和使用;4.各种修饰符的使用方法。2021/7/30学习要点理解继承的概念,超类和子类的关系,掌握它们在继承中的应用;掌握类中有关private成员的访问控制方法;理解方法重载和方法重写的区别和使用方法;2021/7/304.1包包是由.class文件组成的一个集合2021/7/304.1.1定义包构建包语句的语法是:packagepkg1[.pkg2[.pkg3…]];例如:packagecom.j
2、avaworld;package语句作为Java源文件的第一条语句。如果没有package语句,则为缺省无名包。则该语句的前面只能有注释或空行。而且一个文件中最多有一条package语句。包名有层次关系,全部用小写字母,各层之间用点分割.2021/7/30包是类的容器,用于分割类名空间。如果不指定,默认就存在当前文件夹里面。当使用包说明时,程序不需要再引入同一个包或者该包的任何元素。如果包声明是:packagecom.sun.java;则此文件必须存放在Windows的comsunjava目录下。2021/7/30包名必须唯一主要是为了交流,和便于大家的协同合作。一个使用较多的办法是反转域
3、名,如com.sun.util;包名的解释Java解释器的执行顺序是:首先找到环境变量classpath,利用classpath包含的一个或者多个目录,把他们作为一种特殊的“根”使用,从这里开始搜索,搜索时会把“.”替换成“”(Windows)。2021/7/304.1.2导入包import的语法是:importpkg1[.pkg2[.pkg3…]].(类名
4、*);例如:importjava.awt.*;引入整个包时,可以方便的访问包中的每个类。但是引入所有的包会占用过多的内存。因此,我们建议只引入需要的类。程序中不一定有引入语句。当需要引用某个类与当前类存储在一个物理目录下的时候,就可以直
5、接使用,而不需要引入。2021/7/304.1.3类路径(CLASSPATH)编译时:javac–dCLASSPATH路径Myclass.java例如:javac–dd:Myjavamyclass.java则直接在d:Myjava下创建在myclass.java中指明的包目录,并把myclass.class拷到该目录下。运行:java包名.类名如java pk1.pk2.类名A示例CircleDemo2.java2021/7/30jdk中常用的包java.lang----包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。jav
6、a.awt----包含了构成抽象窗口工具集(abstractwindowtoolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。java.applet----包含applet运行所需的一些类。java.net----包含执行与网络相关的操作的类。java.io----包含能提供多种输入/输出功能的类。java.util----包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。2021/7/304.1.4访问控制2021/7/304.2 继承面向对象的编程允许从现有类派生出新类,这称为继承。使用继承,程序员可以创建一个定义了多个相关项目共有特性的通用类,然
7、后,其它较为具体的类可以继承该类,同时再添加自己的独有特性。在Java中定义的每一种类都是从现有类派生来的,或者是显式或者是隐式(如从Object类派生)2021/7/30134.2.1超类和子类在Java术语中,如果类C2是从另一个类C1派生出来的,那么C2称为子类,C1称为超类。C1C2C3派生派生超类子类声明一个继承超类的子类的格式:classsubclass-nameextendssuperclass-name{//bodyofcalss}示例:SimpleInheritance.java2021/7/30//SimpleInheritance.javaclassA{inti,j;vo
8、idshowij(){System.out.println("iandj:"+i+""+j);}}//创建一个继承超类A的子类BclassBextendsA{intk;voidshowk(){System.out.println("k:"+k);}voidsum(){System.out.println("i+j+k:"+(i+j+k));}}关键字extends2021/7/30classSim
此文档下载收益归作者所有