合肥学院java论文.doc_第1页
合肥学院java论文.doc_第2页
合肥学院java论文.doc_第3页
合肥学院java论文.doc_第4页
合肥学院java论文.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥学院课 程 论 文题 目 JAVA基础课程综述论文系 部 计算机科学与技术系专 业 计算机科学与技术专业班 级11计本(1)班学生姓名 冯玉青指导教师 胡春玲2013年12月10日 继承、抽象类和接口 一、前言如同任何人类语言一样,Java提供了一种表达概念的方式。如果使用得当,随着问题变得更庞大更复杂,这种表达工具将会比别的可供选择的语言更为简单、灵活。在这个读书笔记中,我将对java2程序设计基础中的继承、抽象类和接口做出自己的学习心得。二、正文 (一)继承继承是一种由已有类创建新类的机制。利用继承,可以先创建一个公共属性的一般类,根据一般类在创建一个具有特殊属性的新类。新类继承一般类的状态和行为,并根据需要增加自己的新的状态和行为。多层继承类的继承一个类从另一个类派生出来的过程叫继承,被继承的类称为基类(超类),执行该继承的类称为子类(派生类)。继承是面向对象编程技术的一块基石,它允许创建分等级层次的类。运用继承,可以创建一个通用类定义一系列一般特性。该类可以被更具体的类继承。子类的创建 类的继承是通过extends关键字来实现的在定义类时若使用ectends关键字指出新定义类的父类,就是在两个类之间建立了继承关系。新定义的类称为子类它可以从父类那里继承所有非private的成员作为自己的成员。 子类的创建格式 class SubClass extends SuperClass . . . 在子类中访问父类的成员1、在子类中使用super不但可以访问父类的构造方法,还可以访问父类成员和成员方法。但super不能访问在子类中添加的成员。子类中访问父类成员的格式如下 super.变量名; super.方法名; 2、用protected修饰的成员可以被三种类所引用该类自身、与它在同一个包中的其他类、在其他包中该的子类。 3、将成员声明为protected的最大好处是可以同时兼顾到成员的安全性和便利性。 例/在学生子类Student中访问父类Person的成员。用protected修饰符和super关键字访问父类的成员 class Person3 protected String name;/用protected(保护成员)修饰符修饰 protected int age; public Person3()/定义Person3类的“不做事”的无参构造方法 public Person3(String name,int age)/定义Person3类的有参构造方法 =name; this.age=age; protected void show() System.out.println(姓名+name+ 年龄+age); class Student3 extends Person3/定义子类Student3其父类为Person3 private String department; int age=20;/新添加了一个与父类的成员变量age同名的成员变量 public Student3(String xm,String dep)/定义Student3类的有参构造方法 name=xm;/在子类里直接访问父类的protected成员name department=dep; super.age=25;/利用super关键字将父类的成员变量age赋值为25 System.out.println(子类Student3中的成员变量age=+age); super.show();/去掉super而只写sho()亦可 System.out.println(系别+department); public class App8_3 public static void main(String args) SuppressWarnings(unused) Student3 stu=new Student3(李小四,信息系); /*在子类中访问父类的成员(二)覆盖 重载是指在同一个类内定义名称相同但参数个数或类型不同的方法。 覆盖overriding是指在子类中定义名称、参数个数与类型均与父类完全相同的方法,用于重写父类里同名方法的功能 覆盖父类的方法:子类在重新定义父类已有的方法时,应保持与父类完全相同的方法声明,即应与父类有完全相同的方法名、返回值类型和参数列表,否则就不是方法的覆盖而是子类定义自己的与父类无关的方法,父类的方法末被覆盖,所以仍然存在。 *注意 子类中不能覆盖父类中声明为final或static的方法。 在子类中覆盖父类的方法时可以扩大父类中方法权限,但不可以缩小父类方法的权限。抽象类与抽象方法 抽象类是以修饰符abstract修饰的类定义抽象类的语法格式如下 abstract class 类名 声名成员变量; 返回值的数据类型 方法名(参数表) 一般方法 abstract 返回值的数据类型 方法名(参数表); 抽象方法 注意 1. 由于抽象类是需要被继承的,所以abstract类不能用final来修饰。也就说一个类不能既是最终类又是抽象类即关键字abstract与final不能合用。 2.abstract不能与private、stastic、final或native并列修饰同一方法。 3.抽象类的子类必须实现父类中的所有方法或者将自己也声明为抽象的。 4.抽象类中不一定包含抽象方法但包含抽象方法的类一定要声明为抽象类。 5.抽象类可以有构造方法且构造方法可以被子类的构造方法所调用但构造方法不能被声明为抽象的。 6. 一个类被定义为抽象类,则该类就不能用new运算符创建具体实例对象,而必须通过覆盖的方式来实现抽象类中的方法。 7. 抽象方法在抽象方法里,不能定义方法体。接口 接口的实现是在声明一个类的同时用关键字implements来实现一个接口。 接口实现的语法格式为 class 类名称 implements 接口名表 接口与抽象类非常相似,但又有以下的区别抽象类( abstract method )接口 ( interface )可以包含实现区块不能包含实现区块可以包含抽象方法不能包含抽象方法可以包含非public成员不可以包含非public成员能继承其他的类,包含非抽象类能继承其他接口可以控制版本无法控制版本不能被实例化不能被实例化一个类要实现一个接口时注意以下问题 1、接口由类实现,类可以在继承父类的同时实现多个接口。2、类实现接口时,必须实现接口中的所有方法,为这些方法提供方法体。且方法必须声明为public,返回类型和参数必须和接口中声明一致。3、类实现接口时,每个方法必须有方法体,如果不能实现某个方法,也必须写出一个空方法。4、如果接口的方法的返回类型不是void的,则在类中实现 该接口方法是,方法体至少要有一个return语句。接口的继承与多重继承 与类相似,接口也有继承性。定义一个接口时可通过extends关键字声明该新接口是某个已存在的父接口的子接口它将继承父接口的所有变量与方法。与类的继承不同是,一个接口可以有多个父接口,它们之间用逗号分隔,形成父接口列表。如果有子接口中有与父接口同名的常量或相同的方法,则父接口中常量被隐藏方法被覆盖。内部类与匿名类 内部类(Inner Class)是定义在类中的类,内部类的主要作用是将逻辑上相关的类放到一起。匿名类,没有类名,在定义类的同时就生成该类的一个实例。匿名内部类:是指利用内部类创建没有名称的对象,并利用它访问到类里的成员。内部类的特性内部类可以声明为private或protected内部类如有final修饰,则表明该内部类不能被继承内部类可以定义为abstract,但需要被其他的内部类继承或实现内部类不能与包含它的外部类同名。匿名内部类 匿名内部类的定义与创建该类的一个实例同时进行,即类的定义前面有一个new运算符。匿名内部类名前不能由修饰符,也不能定义构造方法。一个内部类的类声明只是在创建此类对象时用一次,而且要产生的新类需继承于一个已有的父类或实现一个接口,才考虑用匿名类。作用:主要是用来弥补内部类里没有定义到的方法例/匿名内部类的使用方法 public class App8_14 public static void main(String args) ( new Inner()/创建匿名内部类Inner的对象 void setName(String n) name=n; System.out.println(姓名+name);/以上三句是为弥补内部 /类Inner里没有定义到的方法 / 创建匿名内部类Inner的对象 ).setName(张 华); /执行匿名内部类里所定义的方法 static class Inner/定义内部类 String name; (三)包 包是Java语言提供的一种区别类名空间的机制,是类的组织方式,每个包对应一个文件夹。目的: 1)避免重名冲突。 2)实现访问权限控制。三、结论 通过学习本章的知识,我受益匪浅,从中学到了很多知识,也对java有了进一步的了解。学习的过程中不可避免的遇到问题,这些问题有的只是一个符号错了,一个括号少了,我们都可以自己解决,我觉得把Java学会的关键一点就是坚持练习。学习Java时每天必须保证一定量的练习,我们老师也说学习编程语言没有捷径可走。真的,只有每天反复操作了,经常写代码了,我们在遇到问题时才有一定的思路。欲速则不达,学习编程语言需要一个比较漫长的阶段,不能一步登天,这需要一个过程,在这个过程中慢慢积累经验,扎实基础。不要以为写出了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论