返回值类型
每个方法在结束时,都会执行return;语句,表示方法结束并返回方法执行的结果。只是我们前面使用的方法设置为void(无返回值),所以这个return语句我们可以省略。
使用返回值:
public 返回值的数据类型 方法名(){
//代码...
return 结果;
}
接口:interface
java中定义类型的一种语法(其他定义类型的语法:class)
格式:public interface 借口名 { 内容 }
属性:只能设置常量并大写,public final int CONST_NUMBER = 100; // public final可以省略。
方法(抽象方法):在java8之前,所有的接口中的方法不可以拥有方法体,即没有花括号,直接;结尾。
构造器:接口没有构造器。
TIPs:接口的方法是没有方法体的,所以一定需要一个子类来(实现)接口。让子类来完成接口定义的功能。
接口这种类型不能直接创建对象。要创建接口类型的对象,需要一个子类型实现此接口并创建对象。
子类实现父接口的语法:
public class Test implements ITest1, ITest2, ITest3{
//必须重写接口定义的方法。
}
注意:
- 实现父接口不与继承父类冲突。
- 可以实现多个父接口。
- 子类通过implemens实现父接口,子接口通过extends继承父接口。
- 接口类型与类型之间能继承。(extends)
- 接口与类型之间能实现。(implements)
- 接口与接口之间能继承。(extends)
- 接口的继承与类型的继承一样,会得到父接口的所有东西。
final 终态
属性:final int CONST_NUMBER = 100;
(常量(常量的名称全部是大写字母表示) 常量:固定的量)
方法:final修饰的方法,不能被子类重写
(放在void之前,与其他修饰词之间没有顺序)
类型:final修饰类型
(修饰词之间无顺序,所以不知道修饰词放在哪里时,就放public之前,或者整句代码最前端。)
多态
其他语法规则
1)内部类
类的内部写一个类:成员内部类
方法的内部写一个类:局部内部类
编写一个类直接交给变量:匿名内部类
TIPs:为了解决多重继承问题,我们还可以利用成员内部类来解决。
2)成员内部类:将一个类定义在一个类的内部,这就叫成员内部类。
定义格式:public class InnerClass {}
[修饰词] 类型定义关键字class 类名 内容
public void run{
clas InnerClass{
//类的成员
}
}
修饰词:成员内部类的访问控制修饰符都可以用。final也可以用。
内部类的内容:属性,方法。
成员内部类,可以像普通类一样去继承父类和实现父接口。
使用成员内部类:
- 创建对象:成员内部类的对象一定要依托于外部类的对象来创建。
- 使用对象:通过对象+"."+属性/方法。
3)匿名内部类:
概念:定义类型的同时创建对象
格式:
new 父类型/父接口(){
//类成员的定义
//成员可以任意定义,但是我们通常只在这里重写父类型的方法。
};
使用:通常想要快速得到一个接口的对象时,使用匿名内部类实现接口,并获取这个接口的对象。
异常
由于程序错误,或者超过系统负载,所导致程序终止的事件,就是异常。
在java中,sun公司的程序员专门创建了类型来对异常进行描述与处理,所以在java中我们遇到的异常都是程序的一个分支。可以让我们在遇见一些我们能及时处理的异常状况时,及时调整程序状态,让程序正常执行下去。
格式:
- 定义异常:创建一个类型,一定要继承Exception / RuntimeException 类型。
Error类型:也可以继承Error,但是这种异常表明当前程序已经到了一个非终止不可得地步,我们不能处理它。
- 在使用前创建异常对象。
- 在异常发生的位置,抛出这个异常对象。
throw + exception 对象:在方法声明中,加入:throw 异常类型。
- 预设代码,如果这个方法出现错误,可以用预设的代码来处理错误。
try{
//填写可能出错的代码
}catch(Exception e){
//进行错误补救
}
java的异常机制的使用:
- 定义异常
- 在发生异常的地方,产生异常对象,并抛出方法
- 处理异常
例如:
有一把能装10发子弹的手枪,发射100枚子弹。
类型: 手枪【子弹】
动作: 发射