收藏 分销(赏)

第七章 继承.ppt

上传人:xrp****65 文档编号:13342869 上传时间:2026-03-04 格式:PPT 页数:23 大小:533.50KB 下载积分:10 金币
下载 相关 举报
第七章 继承.ppt_第1页
第1页 / 共23页
第七章 继承.ppt_第2页
第2页 / 共23页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七,章,继承,2,内容提要,本节内容提要,继承,方法覆盖,super,关键字,抽象方法,抽象类,final,关键字,3,继承,继承(复习),继承,现实生活当中有很多继承关系,例如:,4,继承(续),继承,概念,Java,使用,extends,来实现继承的,语法,class SubClassName extends SuperClassName,通过继承,子类自动拥有父类的所有属性和方法,父类也称为:基类,超类,Java,只支持单根继承,Java,通过接口实现多重继承的语义,实例,InheritanceTest.java,5,继承中的访问控制,修饰符,同一个类中,同一个包中,子类中,全局,private,Yes,default,Yes,Yes,protected,Yes,Yes,Yes,public,Yes,Yes,Yes,Yes,Java,权限修饰符,public,、,protected,、,private,置于类的成员定义前,用来限定其他对象对该类对象成员的访问权限。,对于,class,的访问修饰符只有:,public,和,default,public,修饰的类可以被访问,default,类只能在本包中被访问,6,继承中的访问控制,public class A,private int i;,int j;,protected int m;,public int n;,class B extends A,public void m(),/,错误,,i,为,private,,无法访问,i=100;,/,正确,同包下可以访问,不同包下时不能访问,j=200;,m=300;,n=400;,7,方法覆盖,方法覆盖,也称方法重写(,override/overWrite),定义,子类可以重写父类里的同名方法,规则,子类的访问范围必须大于等于父类的访问范围,实例,OverrideTest.java,8,override,(,overwrite,)演示,public class Person,public void getInfo(),System.out.println(,这是一个人类,);,public static void main(String args),Person p=new Person();,p.getInfo();,/Student s=new Student();,p=new Student();,p.getInfo();,class Student extends Person,/,重写方法,public void getInfo(),System.out.println(,这是一个学生,);,9,super,super,意义,父类的一个引用,用法,使用,super,可以调用父类的构造方法,使用,super,可以明确指定调用父类的成员(方法和属性),实例,SuperTest.java,10,super,演示,public class FatherClass,public int value;,public void m(),value=100;,System.out.println(FatherClass.value:+value);,class ChildClass extends FatherClass,public int value;,public void m(),super.m();,value=200;,System.out.println(ChildClass.value:+value);,System.out.println(value);,System.out.println(FatherClass.value:+super.value);,11,Child,FatherClas,12,继承中的构造,继承中的构造,规则,构造方法不能被继承,方法和属性可以被继承,子类的构造方法自动调用父类的默认构造方法,当父类没有默认的构造方法时,子类必须显示调用父类的构造方法,实例,InheritanceTest2.java,13,演示,public class InheritanceTest,public static void main(String args),SubClass sub=new SubClass();,SubClass sub1=new SubClass(1000);,class SuperClass,public SuperClass(),System.out.println(SuperClass().);,public SuperClass(int i),System.out.println(SuperClass(1000).+i);,class SubClass extends SuperClass,public SubClass(),/super(100);,System.out.println(SubClass().);,public SubClass(int i),/super();,System.out.println(SubClass(1000).);,14,抽象方法,抽象方法,概念,一些方法只是被声明,而没有实现,前面用,abstract,关键字修饰,注意,不能被声明为,private,、,static,、,final,15,抽象类,抽象类,概念,在一个类里面有一个或者多个抽象方法,注意,抽象类不能被实例化,抽象类只能是超类,继承抽象类的子类,必须实现抽象方法,或者本身也是抽象类,实例,AbstractTest.java,16,演示,public class AbstractTest,public static void main(String args),Vehicle car=new Car();,car.run();,abstract class Vehicle,private String name;,public String getName()return name;,public abstract void run();,class Car extends Vehicle,public void run(),System.out.println(,小汽车在跑,.);,17,final,关键字,final,的用法,在类前面,阻止继承,例如:,java.lang.Math,在方法前面,阻止方法覆盖,在属性前面,常量,实例,FinalTest.java,18,Object,类,一切类的基类,所有类具有,Object,类中定义的方法,根据,API,文档提示重写类的,toString(),方法,19,Java5.0,新特性,方法中的参数演示,如:方法,test(int a,int b,Strings),此处的第三个参数是一个可有可无的参数,如果给实参可以给多个,如:,test(1,2),、,test(1,2,”abc”),、,test(1,2,”abc”,”def”),、,test(1,2,”a”,”b”,”c”),以上都是合法的,参数,s,为数组,如:方法,test(String s,Objecto),第二个参数为,Object,数组,总结,继承,方法覆盖,super,关键字,抽象方法,抽象类,final,关键字,20,作业,阶段,1,:,开发矩形类,Rectangle,,编写其中的计算周长的方法,getPerimeter();,开发正方形类,Square,继承自矩形类,重写其中的计算周长的方法,21,作业,22,abstract class Shape,.,protected double length;,protected double width;,.,.,abstract double area();,class Square extends Shape,/*,构造方法,.,*param num,传递至构造方法的参数,*,param num1,传递至构造方法的参数,*,/,Square(final double num,final double num1),super(num,num1);,/*,*,计算正方形的面积,.,*return double,*/,double area(),System.out.println(“,正方形的面积为:,);,return length*width;,阶段,2,:抽象类练习,通过以下代码提示编写抽象类,实现计算正方形、三角形面积,23,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服