类的继承与接口

类的继承与接口

ID:21891907

大小:1.56 MB

页数:39页

时间:2018-10-20

类的继承与接口_第1页
类的继承与接口_第2页
类的继承与接口_第3页
类的继承与接口_第4页
类的继承与接口_第5页
资源描述:

《类的继承与接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、类的继承和接口1、类的继承2、接口3、内部类4、匿名类主要知识点:类的继承类的继承和接口通过继承可以从已经存在的类扩展类的功能,继承的类具有被继承类的功能和属性。一个类通过关键字extends继承(扩展)另一个类。被继承的类称为父类或超类,继承的类称为子类。子类可以继承父类所有的非私有成员(变量和方法)作为自己的成员。除了继承的成员,子类也可以创建自己的成员。子类只能继承父类的非私有成员,私有成员不能继承。当子类实例化时子类和父类的构造方法都被调用。程序smp38.java说明类的继承classsmp381{inta=1;privateintb=1000;publicdoublec=10;vo

2、idff(longx,longy){longz;z=x*y;System.out.println("b="+b);System.out.println("z="+z);}}classsmp382extendssmp381{floatd=100.0f;}publicclasssmp38{publicstaticvoidmain(Stringargs[]){smp382abc=newsmp382();System.out.println("a="+abc.a);System.out.println("c="+abc.c);System.out.println("d="+abc.d);abc.ff(

3、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。程序的编译和运行结果如下图所示。覆盖如果子类中定义的某个成员方法与父类某个方法的名称、返回类型和参数完全相同,则称覆盖或重写了

4、父类的这一方法。如果子类中定义的某个成员变量与父类某个变量的名称、数据类型完全相同,则称覆盖或重写了父类的这个变量。如果父类的某个成员被覆盖,该成员便被隐藏,当子类的对象访问这个成员时,将调用子类定义的成员。通过关键字super可在子类中访问被隐藏的父类成员。super代表对父类对象的引用。覆盖是指父类与子类间的同名变量和方法,重载是指同一个类的同名方法。。程序smp39.java给出了覆盖和super应用的例子classsmp391{Stringname="玲玲";intage=18;}classsmp392extendssmp391{Stringname="张三";intage=60;vo

5、idff(){age=super.age;System.out.println("姓名:"+name);System.out.println("年龄:"+age);}}publicclasssmp39{publicstaticvoidmain(Stringargs[]){smp392abc=newsmp392();abc.ff();}}程序smp39.java的分析和运行程序中子类的name和age变量覆盖了父类的相应变量。由于通过关键字super访问变量age,所以显示的是父类age变量。由于没有通过关键字super访问变量name,所以父类的变量被隐藏了,显示的是子类name变量。结果张三

6、18岁,如下图所示。关键字this和super都只能在非静态方法中使用,不能在静态方法中使用。多态性多态性是面向对象的程序设计方法中最强大的一种机制。Java中的多态性是一种运行时多态,它包括:子类对象替代父类对象技术覆盖(OverRide)技术重载(OverLoad)技术抽象方法(abstract)技术根据需要调用不同类层的同名方法称为多态性。例如在子类中覆盖父类中的方法,可产生不同类层之间的多态性。方法重载通过不同参量加以区别,产生同一个类的多态性。关键字finalfinal是终点,用关键字final声明的类称为final类。例如:finalclassA被声明为final的类不能被继承,没

7、有子类。用final声明的方法为final方法,final方法只能使用,不能重载。也可将变量或常量声明为final。被声明为final的变量,必须在声明时初始化(赋值)。final的变量或常量都只能读取不能修改。将变量、常量或方法声明为final,可以对它们进行保护,保证在使用时不会改变。例如将变量xyz设置为:publicstaticfinalintxyz=100;既能对它进行访问,又能有效地保

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。