网站大量收购闲置独家精品文档,联系QQ:2885784924

类的继承与接口.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要知识点: 类的继承和接口 通过继承可以从已经存在的类扩展类的功能,继承的类具有被继承类的功能和属性。 一个类通过关键字extends继承(扩展)另一个类。被继承的类称为父类或超类,继承的类称为子类。 子类可以继承父类所有的非私有成员(变量和方法)作为自己的成员。除了继承的成员,子类也可以创建自己的成员。 子类只能继承父类的非私有成员,私有成员不能继承。 当子类实例化时子类和父类的构造方法都被调用。 程序smp38.java说明类的继承 class smp381{ int a=1; private int b=1000; public double c=10; void ff(long x, long y){ long z; z=x*y; System.out.println(b=+b); System.out.println(z=+z);}} class smp382 extends smp381{ float d=100.0f; } public class smp38{ public static void main (String args[ ]){ smp382 abc = new smp382(); System.out.println(a=+abc.a); System.out.println(c=+abc.c); System.out.println(d=+abc.d); abc.ff(88L,100L);} } 程序smp38.java的分析和运行 类smp381中定义了三个成员变量a、b、c和一个方法ff。类smp382继承了类smp381,是smp381的子类。所以类smp382拥有类smp381除变量b以外的其他全部非私有成员。类smp382中的语句1又定义一个自己的变量d,所以该类共有a、c、d三个成员变量和一个ff方法。 语句2在类smp38中创建了类smp382的对象abc。语句3~6通过这个对象访问类smp382的成员变量a、c、d和方法ff。 程序的编译和运行结果如下图所示。 覆盖 如果子类中定义的某个成员方法与父类某个方法的名称、返回类型和参数完全相同,则称覆盖或重写了父类的这一方法。 如果子类中定义的某个成员变量与父类某个变量的名称、数据类型完全相同,则称覆盖或重写了父类的这个变量。 如果父类的某个成员被覆盖,该成员便被隐藏,当子类的对象访问这个成员时,将调用子类定义的成员。 通过关键字super可在子类中访问被隐藏的父类成员。super代表对父类对象的引用。 覆盖是指父类与子类间的同名变量和方法,重载是指同一个类的同名方法。 。 程序smp39.java给出了覆盖和super应用的例子 class smp391 { String name=玲玲; int age=18;} class smp392 extends smp391{ String name=张三; int age=60; void ff(){ age=super.age; System.out.println(姓名: +name); System.out.println(年龄: +age);}} public class smp39{ public static void main(String args[]){ smp392 abc=new smp392(); abc.ff();}} 程序smp39.java的分析和运行 程序中子类的name和age变量覆盖了父类的相应变量。 由于通过关键字super 访问变量age,所以显示的是父类age变量。由于没有通过关键字super访问变量name,所以父类的变量被隐藏了,显示的是子类name变量。结果张三18岁,如下图所示。 关键字this和super都只能在非静态方法中使用,不能在静态方法中使用。 多态性 多态性是面向对象的程序设计方法中最强大的一种机制。 Java中的多态性是一种运行时多态,它包括: 子类对象替代父类对象技术 覆盖(OverRide)技术 重载(OverLoad)技术 抽象方法(abstract)技术 根据需要调用不同类层的同名方法称为多态性。例如在子类中覆盖父类中的方法,可产生不同类层之间的多态性。 方法重载通过不同参量加以区别,产生同一个类的多态性。 关键字final final是终点,用关键字final声明的类称为final类。例如: final class A 被声明为final的类不能被继承,没有子类。 用final声明的方法为final方法,final方法只能使用,不能重载。 也可将变量或常量声明为final。被声明为final

文档评论(0)

jdy261842 + 关注
实名认证
内容提供者

分享好文档!

1亿VIP精品文档

相关文档