Java程序设计第6章-继承.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计第6章-继承.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 继承
- 资源描述:
-
1、第第6 6章章 继承继承知识点知识点回顾回顾u面向对象的基本概念面向对象的基本概念l面向对象思想l对象和类的关系l类之间的关系u面向对象的特征面向对象的特征l封装l继承l多态u对象的创建、使用、销毁对象的创建、使用、销毁l构造方法2本讲目标本讲目标ustaticstatic与与finalfinal关键字关键字u继承继承l继承的概念、特征及优点l访问修饰符对类成员的访问限制uthisthis与与supersuper关键字关键字 3staticstatic与与finalfinal关键字关键字 ustaticstatic关键字关键字l static修饰的变量叫静态变量静态变量l static修饰的方
2、法叫静态方法静态方法l static修饰的代码块叫静态代码块静态代码块编写一个国家类,要编写一个国家类,要求该类中有一个变量求该类中有一个变量用来统计该类实例化用来统计该类实例化了几个中国人对象了几个中国人对象4staticstatic与与finalfinal关键字关键字 u静态变量静态变量 static static修饰的修饰的变量,又称为类变量u语法:语法:static 数据类型 变量名;u特征:特征:l静态变量属于某个类,被所有实例所共享l类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。l可以通过类名方式或者实例名方式
3、访问l不能被this和super访问5class Chineseclass Chinese static int count=0;static int count=0;public class Testpublic class Test public static void main(String args)public static void main(String args)for(int i=0;i3;i+)for(int i=0;i3;i+)Chinese chinese=new Chinese();Chinese chinese=new Chinese();chinese.count
4、=chinese.count+1;chinese.count=chinese.count+1;System.out.println(Chinese.count);/System.out.println(Chinese.count);/通过类名访问静态变量通过类名访问静态变量 6使用静态变量使用静态变量staticstatic与与finalfinal关键字关键字 ustaticstatic方法方法 static修饰的方法,又成为类方法u语法:语法:访问修饰符 static 返回数据类型 方法名(参数列表)方法体;u特征:特征:l类方法不能访问实例变量,只能访问类变量或类方法。l类方法可以由类名直
5、接调用,也可由实例对象进行调用,但不规范。78使用静态方法使用静态方法class Chineseclass Chinese static int count=0;static int count=0;static void display()static void display()System.out.println(“count=”+count);System.out.println(“count=”+count);public class Testpublic class Test public static void main(String args)public static voi
6、d main(String args)for(int i=0;i3;i+)for(int i=0;i3;i+)Chinese chinese=new Chinese();Chinese chinese=new Chinese();chinese.count=chinese.count+1;chinese.count=chinese.count+1;Chinese.display();/Chinese.display();/通过类名访问静态方法通过类名访问静态方法 staticstatic与与finalfinal关键字关键字 u静态代码块静态代码块u特征:特征:l静态代码块不存在于任何方法体中l
7、类中的静态代码块被自动执行,尽管我们产生了类的多个实例对象,但其中的静态代码块只被执行了一次。l当JAVA虚拟机加载类时被载入,静态代码块被执行,静态块经常用来进行类属性的初始化。910使用静态代码块使用静态代码块class StaticBlockDemoclass StaticBlockDemo static int values=new int10;static int values=new int10;static static for(int i=0;ivalues.length;i+)for(int i=0;ivalues.length;i+)valuesi=(int)(100.0
8、valuesi=(int)(100.0*Math.random();Math.random();staticstatic与与finalfinal关键字关键字 u final final关键字关键字lfinal修饰类:是最终类,不能被其他类所继承 public final class String lfinal修饰变量:(成员变量或局部变量)即为常量,只能赋值一次,只能访问,不能修改其值。而且通常变量名用大写字母。如:public static final int INCREMENT=5lfinal修饰成员方法:是最终方法,不能被子类重写。public final void display();
9、11继承继承u生活中的继承生活中的继承动物动物食草动物食草动物食肉动物食肉动物谁是父类?谁是父类?谁是子类?谁是子类?能说出继承的特点吗?能说出继承的特点吗?继承需要符合的关系:继承需要符合的关系:is-ais-a,父类更通用、子类更具体,父类更通用、子类更具体12生活中的继承生活中的继承(续续)u子类具有父类的一般特性(包括属性和行为),以及自子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性身特殊的特性汽车汽车巴士是汽车吗?巴士是汽车吗?卡车是汽车吗?卡车是汽车吗?出租车是汽车吗?出租车是汽车吗?最大载客数量最大载客数量报站报站引擎数量引擎数量外观颜色外观颜色刹车刹车加速加速最大
10、载重量最大载重量卸货卸货所属公司所属公司最大载客数量最大载客数量打发票打发票属性属性行为行为请问:出租请问:出租车包含哪些车包含哪些属性和行为属性和行为呢?呢?13汽车汽车小轿车小轿车卡车卡车客车客车继承继承继承继承继承继承轮船轮船交通工具交通工具继承继承继承继承基类和派生类基类和派生类u基类和派生类的概念是相对的,一个类既可以是基类,基类和派生类的概念是相对的,一个类既可以是基类,也可以是派生类也可以是派生类14为什么需要继承为什么需要继承u描述两种动物羊描述两种动物羊SheepSheep和狼和狼Wolf Wolf,各自的要求如下:,各自的要求如下:lSheepp属性:名称,重量p方法:吃饭
11、(吃草)、睡觉、呼吸、动物描述 lWolfp属性:名称,重量p方法:吃饭(吃肉)、睡觉、呼吸、动物描述15为什么需要继承为什么需要继承(续续)u以下这个解决方案中存在着什么问题?以下这个解决方案中存在着什么问题?public class Sheep private String name;/名称private int weight;/重量public Sheep(String sname,int sweight)name=sname;weight=sweight;public void eat()System.out.println(Im hungry);System.out.println(
展开阅读全文