JAVA基础(第4天 接口与实现)

接口与实现

接口(接口声明和接口体)
使用关键字interface来定义
接口声明:interface 接口的名字
接口体:
 1. 可以没有任何内容(变量和方法)
 
 2. 可以有变量,但是这些变量必须是**常量**,默认被public static final 修饰,即接口里不可以有私有成员。
 3. 可以有方法,但是这些方法都是抽象方法,默认被public abstract 修饰

 4. 接口中只有常量(没有变量)和抽象方法(没有普通方法) 	
 5. 常量都是静态常量(static6. 接口不能被实例化的 	
 7. 抽象方法只有声明,不允许有方法体
 8. 接口没有构造函数,方法可以抛出异常
 
 9. 可以定义一个接口引用,但是必须执行其实现接口的子类对象
 
 10. 接口可以继承其他的接口(这里指单继承),通过extends来实现
 11. 接口可以实现类的多继承,通过implements来实现。
 
 12. 接口可以有类实现,但是这个普通类必须实现该接口的所有方法。如果这个类不实现该接口的所有方法,它必须是抽象类。
 
 13. 一个java源文件由类和接口组成
 
 

> 接口的访问权限修饰符

  1.public修饰的接口可以被任何一个类实现
  2.如果一个接口不加任何修饰,就称作友好接口,友好接口可以被与该接口在同一包中的类实现	

> 接口回调

ImpleCom是实现接口的类
ImpleCom object = new ImpleCom();
使用接口回调之后,object不仅可以调用ImpleCom中的方法,还可以调用接口中的方法。
但是当接口变量 com = object;com就可以调动被类实现的接口方法,这个过程才叫接口回调。

> 理解接口

接口变量中只能存放实现该接口的雷达的实例的引用。
内部类与异常类

> 断言

断言语句的语法格式:
	assert booleanExpression;
	assert booleanExpression:messageException;
	启用与关闭断言语句
	java -ea mainClass

JDK8新特性(默认方法和静态方法)
在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的。由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的。
在这里插入图片描述
JDK8及以后,允许我们在接口中定义static方法和default方法。
在这里插入图片描述
再定义一个接口的实现类:
在这里插入图片描述

  • 静态方法,只能通过接口名调用,不可以通过实现类的类名或者实现类的对象调用。
  • default方法,只能通过接口实现类的对象来调用。
    在这里插入图片描述

内部类


Java类有两种重要的成员:成员变量和方法,实际上java还允许有一种成员:内部类

## **内部类:**

	1.内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外部类中的方法。
	2.内部类的类体中不可以声明成员变量和方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。	

## **匿名类 **

> 和子类有关的匿名类

	匿名类可以继承父类的方法也可以重写父类的方法
	使用匿名类时,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类。
	匿名类可以访问外嵌类中的成员变量和方法,匿名类的类体中不可以声明static成员变	量和static成员方法。
	由于匿名类是一个子类,但没有类名,所以在匿名类创建对象时,要直接使用父类的构	造方法。
	Bank是一个类
	new Bank() {
			匿名类的类体
		};

> 和接口有关的匿名类

	Computable是一个接口
	new Computable() {
			实现接口的匿名类的类体
		};

异常类

异常对象可以调用如下方法得到或输出有关异常的信息
public String getMessage();
public void printStackTrace();
public String toString();
Try-catch语句

知识积累

程序执行退出代码:System.exit(0);
Throw 和 Throws两个关键字
一个方法在生明时可以使用throws关键字声明要产生的若干个异常,即throws声明异常类型,
并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象。
而使用throw关键字抛出该异常对象。
程序必须在try-catch块语句中调用可能发生异常的方法,其中catch的作用就是捕获throw关键字抛出的异常对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值