第三讲Java类的特性二

上传人:cl****1 文档编号:584292165 上传时间:2024-08-30 格式:PPT 页数:35 大小:452.04KB
返回 下载 相关 举报
第三讲Java类的特性二_第1页
第1页 / 共35页
第三讲Java类的特性二_第2页
第2页 / 共35页
第三讲Java类的特性二_第3页
第3页 / 共35页
第三讲Java类的特性二_第4页
第4页 / 共35页
第三讲Java类的特性二_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第三讲Java类的特性二》由会员分享,可在线阅读,更多相关《第三讲Java类的特性二(35页珍藏版)》请在金锄头文库上搜索。

1、1第三讲抽象类、包本讲概要o知识点知识点抽象类包final、this和superJava标准类库p重点重点1 抽象类(Abstract)n 抽象类是专门设计来让子类继承的类抽象类是专门设计来让子类继承的类 。 n 定义的时候使用定义的时候使用 abstract 关键字标记关键字标记 n 包含一般类所包含的所有特性,例如:属包含一般类所包含的所有特性,例如:属 性、方法性、方法 n 另外它还包含一种很特殊的方法,叫另外它还包含一种很特殊的方法,叫抽象方抽象方 法法 n 它不能被实例化它不能被实例化 例3-18 抽象类定义实例 详细程序看详细程序看例例3-18的代码的代码例3-19 抽象类的子类定

2、义实例一 详细程序看详细程序看例例3-19的代码的代码例3-20抽象类的子类定义实例二 详细程序看详细程序看例例3-20的代码的代码超类超类HousePet和它子类和它子类Dog、Fish的关系的关系 例3-21 类的使用实例public class HousePetDemo public static void main (String args) Dog myDog=new Dog ( ); Fish myFish=new Fish (小兰 , 王晓明 , 小虫, 18.0f); System.out.println(myDog.toString (); System.out.printl

3、n(myFish.toString (); javajava中引入了包中引入了包(package)(package)的概念来管理类名空间。的概念来管理类名空间。就像文件夹把各种文件组织在一起,使硬盘更清就像文件夹把各种文件组织在一起,使硬盘更清晰、有条理一样,晰、有条理一样,JavaJava中的包把各种类组织在一中的包把各种类组织在一起,使得程序功能清楚、结构分明。起,使得程序功能清楚、结构分明。 2 包的概念 包的概念我们以我们以java.math.*java.math.*为例讲解包的结构。为例讲解包的结构。javajava表示包的根节点,在表示包的根节点,在mathmath包和包和java

4、java包包之间的之间的“”点符号表明点符号表明mathmath是是javajava的子的子包。包结构如图所示。包。包结构如图所示。 n 包是为了管理类,但更重要的是如何使用包。包是为了管理类,但更重要的是如何使用包。n 编写程序时经常会使用编写程序时经常会使用JavaJava类库中类类库中类 。n JavaJava语言通过关键字语言通过关键字importimport来引入要使用的类来引入要使用的类 包。包。 包的使用例3-26JOptionPane类的使用实例import javax.swing.JOptionPane; /引入JOptionPane类public class JOption

5、paneTest public static void main(String args) String number,Output; int n ; number=JOptionPane.showInputDialog(输入一个数); n=Integer.parseInt(number); JOptionPane.showMessageDialog(null,输入的数是:+n); n 我们也可以定义自己的包,把编写的类根据分我们也可以定义自己的包,把编写的类根据分 类放在不同的包中以便管理和使用,类放在不同的包中以便管理和使用,n 定义包使用的关键字为定义包使用的关键字为package。自定

6、义包自定义包package my.mylib.cs;package my.mylib.cs;public class MyMathpublic class MyMath public static int max(int a, int b) public static int max(int a, int b) return ab?a:b; return ab?a:b; 例3-27定义包的实例import my.mylib.cs.*; /引入包中的类引入包中的类import javax.swing.JOptionPane; public class TestMyMath public stat

7、ic void main(String args) int a=MyMath.max(100,200); JOptionPane.showMessageDialog(null,输入的数是:输入的数是:+a); 例3-28自定义包的使用实例默认包o如果如果Java源代码文件的起始位置没有关键源代码文件的起始位置没有关键字字package,编译时,类将被组织到当,编译时,类将被组织到当前目录,即默认包中。前目录,即默认包中。o同一包中的类可以相互直接使用,无需使同一包中的类可以相互直接使用,无需使用关键字用关键字import导入。导入。小结1、包的创建:在定义类的的首行用、包的创建:在定义类的的首

8、行用 package关键字关键字 2、包的使用:、包的使用:import关键字关键字3、默认包、默认包3关键字final、this和supero用用final修饰的变量表示常量修饰的变量表示常量,值一旦给定就值一旦给定就无法改变无法改变,看下面的例子看下面的例子o例例2-29 final修饰变量实例o例例3-30 final修饰方法实例o例例3-31 final修饰类的实例this和supero简单的说,this代表当前对象或类的实例。有时一个方法需要引用调用它的对象。为此,Java定义了this这个关键字。this可以在引用当前对象的所有方法内使用。也就是,this总是调用该方法对象的一个引

9、用。o例例3-32 this关键字使用的实例1o例例3-33 this关键字使用的实例2this和supero与this关键字相似,关键字super表示对父类的引用。通过在子类中使用super做前缀可以引用被子类隐藏的父类变量或被子类重写的父类方法。虽然构造方法不能够继承,但利用super关键字,子类构造方法中也可以调用父类的构造方法。o例例3-34 利用super操作父类的构造方法4Java标准类库n 介绍一下介绍一下Java的一些的一些典型典型类类Math类Date类n Java api 帮助文档的使用帮助文档的使用Math类(数学类)o数学类包含了许多数学函数n如sin、cos、exp、

10、abs等。oMath类是一个工具类,它在解决与数学有关的一些问题是有着非常重要的作用。Math类(数学类)o属性(静态属性)nE:E代表数学中的e2.7182818nPI:PI代表派pi3.1415926n引用时,用法如:Math.E和Math.Pi; Math类(数学类)o方法(均为静态方法)npublicstaticintabs(inta)npublicstaticlongabs(longa)npublicstaticfloatabs(floata)npublicstaticdoubleabs(doublea)o求a的绝对值npublicstaticdoubleexp(doublea)oe

11、xp求e的a次幂。Math类(数学类)o方法(均为静态方法)方法(均为静态方法)npublicstaticdoublefloor(doublea)ofloor返回最大的小于a的整数。npublicstaticdoublepow(doublea,doubleb)opow求a的b次幂。npublicstaticdoublesqrt(doublea)osqrt求a的开平方。npublicstaticdoublerandom()orandom产生01之间伪随机数。nPublicstaticdoubleround(doublea)oround四舍五入。例3-35Math类的使用publicclassma

12、thInstancepublicstaticvoidmain(Stringargs)System.out.println(Math.E);System.out.println(Math.PI);System.out.println(Math.exp(5.7);System.out.println(Math.random();System.out.println(Math.sqrt(9.08);System.out.println(Math.pow(2,3);System.out.println(Math.round(99.6);System.out.println(Math.abs(-8.09

13、);Date类(日期类)oDate类是用来表示日期和时间oDate类表示的是从GMT(格林尼治标准时间)1970年,1月1日00:00:00这一刻之前或者是之后经历的毫秒数例3-36Date类的使用importjava.util.Date;publicclassDateExample1publicstaticvoidmain(Stringargs)/获得系统时间Datedate=newDate();System.out.println(date.getTime();Date类(日期类)oDate类常用方法opublicDate(intyear,intmonth,intdate)该构造方法通过年

14、year、月month、日date三个整数初始化Date类对象。opublicintgetDate()返回此Date对象表示的月份中的某一天。opublicvoidsetDate(intdate)把此Date对象的月份中的某一天设置为指定值。例3-37比较日期importjava.util.Date;publicclassUseDatepublicstaticvoidmain(Stringargs)Datemybirthday=newDate(78,01,10);Dateyourbirthday=newDate(86,3,24);Booleanresult1=mybirthday.after(

15、yourbirthday);Booleanresult2=mybirthday.before(yourbirthday);System.out.println(result1);/输出falseSystem.out.println(result2);/输出trueSystem.out.println(mybirthday.equals(yourbirthday);5Java帮助文档的使用oJava开发包中提供了几千个类,方法更是数以万计。o学会使用帮助文档是非常必要的。oSun公司网站(http:/ 5Java帮助文档的使用o可以采用不同的策略来查找我们要的帮助信息。o方法一:知道String类位于java.lang包中的查找方法(演示说明)。o方法二:不知道String类位于哪个包中的查找方法(演示说明)。o方法三:只记得方法名replace(),不知道是哪个类中的方法的查找方法(演示说明)。小结o3.7抽象类o3.8包o3.9final、this和super谢谢谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号