




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第三讲 抽象类、包,本讲概要,知识点 抽象类 包 final、this和super Java标准类库 重点,1 抽象类(Abstract),抽象类是专门设计来让子类继承的类 。 定义的时候使用 abstract 关键字标记 包含一般类所包含的所有特性,例如:属 性、方法 另外它还包含一种很特殊的方法,叫抽象方 法 它不能被实例化,例3-18 抽象类定义实例,详细程序看 例3-18的代码,例3-19 抽象类的子类定义实例一,详细程序看 例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.println(myFish.toString (); ,java中引入了包(package)的概念来管理类名空间。就像文件夹把各种文件组织在一起,使硬盘更清晰、有条理一样,Java中的包把各种类组织在一起,使得程序功能清楚、结构分明。,2 包的概念,包的概念,我们以java.math.*为例讲解包的结构。java表示包的根节点,在math包和java包之间的“”点符号表明math是java的子包。包结构如图所示。,包是为了管理类,但更重要的是如何使用包。 编写程序时经常会使用Java类库中类 。 Java语言通过关键字import来引入要使用的类 包。,包的使用,例3-26 JOptionPane类的使用实例,import javax.swing.JOptionPane; /引入JOptionPane类 public class JOptionpaneTest public static void main(String args) String number,Output; int n ; number=JOptionPane.showInputDialog(“输入一个数“); n=Integer.parseInt(number); JOptionPane.showMessageDialog(null,“输入的数是:“+n); ,我们也可以定义自己的包,把编写的类根据分 类放在不同的包中以便管理和使用, 定义包使用的关键字为package。,自定义包,package my.mylib.cs; public class MyMath public static int max(int a, int b) return ab?a:b; ,例3-27 定义包的实例,import my.mylib.cs.*; /引入包中的类 import javax.swing.JOptionPane; public class TestMyMath public static void main(String args) int a=MyMath.max(100,200); JOptionPane.showMessageDialog(null,“输入的数是:“+a); ,例3-28 自定义包的使用实例,默认包,如果Java源代码文件的起始位置没有关键字package,编译时,类将被组织到当前目录,即默认包中。 同一包中的类可以相互直接使用,无需使用关键字import导入。,小结,1、包的创建:在定义类的的首行用 package关键字 2、包的使用:import关键字 3、默认包,3 关键字final、this和super,用final修饰的变量表示常量,值一旦给定就无法改变,看下面的例子 例2-29 final修饰变量实例 例3-30 final修饰方法实例 例3-31 final修饰类的实例,this和super,简单的说,this代表当前对象或类的实例。有时一个方法需要引用调用它的对象。为此,Java 定义了this 这个关键字。this 可以在引用当前对象的所有方法内使用。也就是,this 总是调用该方法对象的一个引用。 例3-32 this关键字使用的实例1 例3-33 this关键字使用的实例2,this和super,与this关键字相似,关键字super表示对父类的引用。通过在子类中使用super做前缀可以引用被子类隐藏的父类变量或被子类重写的父类方法。虽然构造方法不能够继承,但利用super关键字,子类构造方法中也可以调用父类的构造方法。 例3-34 利用super操作父类的构造方法,4 Java标准类库,介绍一下Java的一些典型类 Math类 Date类 Java api 帮助文档的使用,Math类(数学类),数学类包含了许多数学函数 如sin、cos、exp、abs等。 Math类是一个工具类,它在解决与数学有关的一些问题是有着非常重要的作用 。,Math类(数学类),属性(静态属性) E:E代表数学中的e 2.7182818 PI:PI代表派pi 3.1415926 引用时,用法如:Math.E 和 Math.Pi;,Math类(数学类),方法(均为静态方法) public static int abs ( int a ) public static long abs ( long a ) public static float abs ( float a ) public static double abs ( double a ) 求a的绝对值 public static double exp ( double a ) exp求e的a次幂。,Math类(数学类),方法(均为静态方法) public static double floor ( double a ) floor返回 最大的 小于a的整数。 public static double pow ( double a, double b ) pow求a的b次幂。 public static double sqrt ( double a ) sqrt求a的开平方。 public static double random() random产生01之间伪随机数。 Public static double round ( double a) round 四舍五入。,例3-35 Math类的使用,public class mathInstance public static void main(String args) 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); ,Date类(日期类),Date类是用来表示日期和时间 Date类表示的是从GMT(格林尼治标准时间)1970年, 1月1日00:00:00这一刻之前或者是之后经历的毫秒数,例3-36 Date类的使用,import java.util.Date; public class DateExample1 public static void main(String args) / 获得系统时间 Date date = new Date(); System.out.println(date.getTime(); ,Date类(日期类),Date类常用方法 public Date(int year, int month, int date) 该构造方法通过年year、月month、日date三个整数初始化Date类对象。 public int getDate() 返回此 Date 对象表示的月份中的某一天。 public void setDate(int date) 把此 Date 对象的月份中的某一天设置为指定值。,例3-37 比较日期,import java.util.Date; public class UseDate public static void main(String args) Date mybirthday = new Date(78, 01 ,10); Date yourbirthday = new Date(86, 3 , 24); Boolean result1=mybirthday.after(yourbirthday); Boolean result2=mybirthday.before(yourbirthday); System.out.println(result1); /输出false System.out.println(result2); /输出true System.out.println(mybirthday.equals(yourbirthday); ,5 Java帮助文档的使用,Java开发包中提供了几千个类,方法更是数以万计 。 学会使用帮助文档是非常必要的。 Sun公司网站(/docs)免费下载帮助文档。,5 Java帮助文档的使用,Java开发包中提供了几千个类,方法更是数以万计 。 学会使用帮助文档是非常必要的。 Sun公司网站(/docs)免费下载帮助文档。,左上角的窗口显示的是Java所提供的包名,左下显示的是所选中包中的所有类和接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025数码产品购销合同
- 2025年4月贵州黔南州福泉市招聘城镇公益性岗位4人模拟试卷及答案详解(必刷)
- 2025第二季度贵州安顺市平坝区美农科技有限公司招聘9人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025年延安东辰中学教师招聘模拟试卷有完整答案详解
- 大专建筑考试题库及答案
- 国防大学语法考试题库及答案
- 业务合同评审与执行监督双控工具
- 高效能治理工作目标承诺书(4篇)
- 2025年国防教育知识竞赛题库及参考答案
- 高新技术产品代理销售合同计划书
- 2025年造价咨询公司廉政制度及保障措施
- 2025至2030中国停机坪货架行业项目调研及市场前景预测评估报告
- 补液课件教学课件
- 电池厂化成柜安全操作规范规章
- 电力公司施工安全培训课件
- 2025年一级建造师《(市政公用工程)管理与实务》考试真题及答案
- 农村财务报账员培训课件
- 宏村简介课件
- 潍坊市2026届高三开学调研监测考试数学试题及答案
- 车辆产品公告管理办法
- 2025喀什经济开发区兵团分区招聘(10人)考试参考试题及答案解析
评论
0/150
提交评论