Java-week4-接口和内部类

1、接口

1.1 为了克服单继承性,引用了JAVA

1.2 接口声明


public interface Printable { //接口声明
	//接口体
	final int Max = 100;
	void add();
	float sum(float x,float y);
}

1.3 接口定义与类定义的区别

  • 成员变量部分:接口中只能定义常量

    • 每个成员都是默认 public static final 无法改变
    • 也正因为如此,上述关键字可以省略
  • 方法部分:接口中只能定义抽象方法

    • 每个方法默认 public abstract
    • 也正因为如此,上述关键字可以省略

 1.4 接口和抽象类的比较

  • 接口和抽象类只可以有抽象方法
  • 接口中可以只有常量,不能有变量;而抽象类中两者都可以有
  • 接口中只能有抽象方法,而抽象类中也可以有非抽象方法
  • 使用抽象类和使用接口的一般原则
    • 需要继承父类的非抽象特性,use抽象类
    • 仅仅在多个类中实现某些公共方法,用接口

 1.5 接口的使用

  • 类通过使用关键字implements声明使用一个或多个接口;
  • 多个接口之间用逗号隔开。如: class A  implements Printable,Addable
  • 如果一个类使用了某个接口,那么必须实现该接口的所有方法,否则,该类必须是抽象类
  • 注意:实现接口方法时,必须加上public

1.6 接口的理解

  • 接口的思想在于:可以定义很多类都需要实现的功能,而且不要求这些类之间有继承关系
  • 同一个类也可以实现多个接口。接口只关心功能,并不关心功能的具体实现
  • 接口存在的意义
    • 实现“多继承”且避免了传统“多继承”的复杂性
    • 建立类和类之间的协议
      • 不考虑继承层次的问题
      • 可以实现不同类之间的常量共享
    • 允许在看起来不相干的对象之间定义共同行为

1.7 接口回调 

1.8 实例

 

 

2、内部类

3、匿名类

4、异常类

4.1 定义

  • 所谓异常就是指程序运行时可能出现的一些错误,例如数组越界、除零等。
  • 出现异常时,JVM就用异常类Exception的相应子类创建一个异常对象,并等待处理。例如:读取一个不存在的文件时,会产生一个 IOException对象。
public String getMessage() //异常类的消息
public void printStackTrace() //错误方法栈 
public String toString() //异常类的描述
  • Java预定义的一些常见异常 – ArithmeticException:
  • ArithmeticException:整数除法中除数为0
    NullPointerException:访问的对象还没有实例化
    NegativeArraySizeException :创建数组时元素个数是负数
    ArrayIndexOutOfBoundsException:访问数组元素时,数组下标越界
    ArrayStoreException:程序试图向数组中存取错误类型的数据
    FileNotFoundException:试图存取一个并不存在的文件
    IOException:通常的I/O错误
    

4.2 java的异常处理

4.3 举例 


  

5、Class类

6.反编译和文档生成器

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在第4周的可重复研究项目,我将继续探索如何使用开放源代码工具和技术来实现可重复性和透明度。 首先,我将继续使用版本控制系统(如Git),以便跟踪我研究项目的所有更改和改进。这将确保我能够回溯到每个版本的数据和代码,并对项目进行可重复性验证。在本周内,我还将学习更多关于Git分支和合并的知识,以便更好地组织和管理我的项目。 另外,我还将使用Jupyter Notebook来记录我的实验过程和结果。Jupyter Notebook提供了一个互动环境,可以将代码、文档和图形化结果结合在一起,使得我的研究成果更加易于理解和重现。我会确保我的Notebook包含了所有必要的步骤和解释,以便他人能够准确地复现我的研究。 为了进一步提高可重复性,我还将采取一些数据预处理和清洗的措施。这些措施包括去除异常值、处理缺失数据和标准化数据等。我将确保我的数据处理过程明确记录,并提供相应的代码和文档,以便他人能够按照相同的步骤进行处理。 最后,我还计划使用容器化技术(如Docker)来实现我的研究项目的可移植性。通过将我的环境和依赖项封装在一个容器,我可以确保其他人能够在不同的计算机和操作系统上轻松地运行我的代码和分析。 综上所述,第4周的可重复研究项目将继续探索一系列工具和技术,旨在提高我的研究项目的可重复性和透明度。通过使用版本控制系统、Jupyter Notebook、数据处理和清洗措施以及容器化技术,我将确保我的研究成果可以被其他人准确地重现和验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值