学号:201711671216 《Java程序设计》第七周学习总结

学号:201711671216 《Java程序设计》第七周学习总结

教材学习内容总结(P145-174)

1、接口:使用关键字interface来定义一个接口,接口的定义与类的很相似。与类不同的是,接口用interface来声明自己是一个接口。

2、接口的变量和方法的构成规则:(1)、接口的变量自动都是public、static、final;(2)、接口中的方法默认为public、abstract,接口也产生 .class文件;(3)、接口中的方法不能被static和final修饰,因为要重写接口的方法;(4)、接口中灭偶遇构造方法,方法可以抛出异常。

3、类实现接口:一个类需要在类的声明中使用关键字implements声明该类实现一个或多个接口,多个用逗号隔开。 由于接口中的方法一定是public abstract 方法,所以类在重写接口方法是不仅要去掉abstract修饰符、给出方法体,而且方法的访问权限一定要明显的用public来修饰(否则降低了访问权限)。 用户也可以自定义接口,一个java源文件可以由类和接口组成。

4、如果一个类声明一个接口,当没有重写接口中的所有方法。Name这个类一定是抽象类。也就是说,抽象类可以重写接口中的方法,也可以直接拥有接口中的方法。类可以直接调用接口中的常量。 可也通过关键字extends来声明一个接口是另一个接口的子接口

5、接口的UML图:第一层名字层,第二层常量层,第三层方法层。

6、接口回调:是指可以把某一接口的类创建的对象的引用赋值给该接口声明的接口变量,该接口就可以调用被类实现的接口方法。

7、理解接口:(关键点)1、接口可以抽象出重要的行为准则,该行为准则用抽象方法来实现;2、可以把实现接口的类的对象的引用赋值给接口变量,该接口可以调用该类类实现的接口方法(即给出具体行为)。其实想在于其可以要求某一类有相同名称的方法,但方法的具体内容可以不同。

8、接口与多态:由接口产生的多态是指不同的类实现同一个接口时可能具有不同的实现方式。那么接口变量在回调接口方法时就可能具有多种形态。

9、接口参数如果一个方法的参数是接口类型,则可将任何实现该接口的类的实例的引用传递给该接口参数,那接口参数就可以回调类实现的接口方法。

扫描二维码关注公众号,回复: 4217025 查看本文章

10、abstract类和接口的比较:(1)、都有abstract方法。(2)、接口中只能有常量不能有变量,但abstract类的两者都可以有。(3)、abstract类可以有非abstract方法,接口不可以。

11、面向接口编程是核心思想:使用接口回调。

内部类和异常类:

  1. 内部类:java支持在一个类中定义另一个类。包含内部类的类称为内部类的外嵌类。
  2. 内部类与外嵌类之间的关系:(1)、内部类的外嵌类的成员变量在内部类中依旧有效,内部类也可以调用外嵌类中的方法。(2)、内部类的类体中不能声明类变量和类方法,外嵌类的类体中可以用内部类声明的对象,作为外嵌类的成员。(3)内部类仅供它的外嵌类使用。其他类不可以使用某个类的内部类声明对象。
  3. 内部类可以被修饰外static内部类,static内部类不能操纵外嵌类中的实例成员变量,但不可用static来声明类变量和类方法,非内部类不可以是static类。
  4. 匿名类:创建子类对象时,除了使用父类的构造方法外还有类体,此类题被认为是一个子类去掉类声明后的类体。匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,但却可以直接用匿名类创建一个对象。
  5. 特点:(1)、可继承父类的方法也可以重写父类的方法。(2)、使用匿名类时,必然是在某个类直接使用匿名类创建对象,则其一定是内部类。(3)、可以访问外嵌类中的成员变量和方法,不可用static成员变量和static方法。(4)、直接使用父类的构造方法。
  6. 和接口有关的匿名类:java允许志杰用接口名和一个类体创建一个匿名对象,此类体被认为是实现了接口的类去掉类声明后的类体,称作匿名类。如果某个方法的参数时接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须重写接口中的全部方法。
  7. 异常类:java使用throw关键字抛出一个exception子类的实例表示异常发生。,允许方法调用过程中抛出异常对象,终止当前方法的继续执行。
  8. try-catch语句:用来处理异常,将可能出现异常操作放在try部分,一旦抛出异常,try部分立即结束执行,转向catch部分。所以将发生异常后的处理放在catch部分。Catch的作用是捕获throw关键字抛出的异常对象。
  9. 自定义异常类:一个方法在声明中可以使用throws关键字声明要产生若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的 异常类创建对象,并使用关键字抛出异常对象,导致该方法结束执行。
  10. 断言:一般用于程序不准备通过捕获异常来处理的错误。 语法格式:使用关键字assert声明一条断言语句,assert booleanExpression;/assert booleanExpression:messageException;

启动与关闭断言语句:系统会默认关闭断言语句,在调试过程中可以使用-ea启动断言语句。

  1. try{}

Catch(ExceptionSubClass e){}

Finally{}

无论try处是否异常,finally语句依旧被执行。如果try-catch语句中执行了return语句,finally语句依旧执行,但是当try-catch语句执行了退出程序,则不再执finally语句。

23、所有异常的父类都是Exception(),所有自定义异常类时都要继承父类。

 

教材学习中的问题和解决过程、

代码调试中的问题和解决过程

其他(感悟、思考等,可选)

学习进度条

参考资料

·Java学习笔记(第8版)

·《Java学习笔记(第8版)》学习指导

·...

猜你喜欢

转载自blog.csdn.net/panlxg/article/details/84473293
今日推荐