目录
方法
定义
方法的重载
类与对象
类的定义
对象的定义
类和对象的区别
异常
Error
Exception
异常方法
捕获异常
throw 关键字
throws 关键字
声明自定义异常
方法就是一段可以重复调用的代码。
在一些其它语言中方法指过程和函数。一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫做过程。
其格式如下:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...){
...
方法体
...
return 返回值;
}
方法重载,就是在同一个作用域内方法名相同但参数个数或参数类型不同的方法。
public class Dome{
public static void main (String[] args){
int sum1 = add(1,2);
int sum2 = add(1,2,3);
double sum3 = add(1.1,1.2);
System.out.println("sum1 = " + sum1);
System.out.println("sum2 = " + sum2);
System.out.println("sum3 = " + sum3);
}
public static int add(int x,int y){
return x + y;
}
public static int add(int x,int y,int z){ //传入参数个数不同
return x + y + z;
}
public static double add(int x,int y){ //传入参数数据类型不同
return x + y;
}
}
注意:方法的重载与返回值类型无关。
类是对象的抽象,用于描述一组对象的共同特征和行为。
在面向对象编程中,通过定义类来描述对象的属性和行为的过程。类是一种抽象的数据类型,它由属性和方法组成。属性表示对象的特征或状态,而方法表示对象的行为或操作。类定义了对象的结构和行为模板,通过创建对象的实例,可以使用类中定义的属性和方法来操作对象。
类的定义通常包括类名、属性和方法。类名表示类的名称,用于区分不同的类。属性是类中的成员变量,用于表示对象的特征或状态。方法是类中的成员函数,用于定义对象的行为或操作。在类的定义中,可以对属性和方法进行访问修饰符的设置,例如public、private、protected等,用于控制属性和方法的访问权限。
类的定义是面向对象编程的基础,它将数据和行为封装在一起,提供了一种组织和管理代码的方式。通过定义类,可以创建多个对象的实例,每个对象都具有自己的属性和行为。类的定义使得代码具有可重用性,可以通过创建不同的对象来满足不同的需求,同时也方便了代码的维护和扩展。
在Java中定义类,使用关键字class完成。语法如下:
class 类名称 {
属性 (变量) ;
行为 (方法) ;
}
对象的定义是指在对象导向编程中,对象是指具有状态、行为和标识的实体。对象由属性(状态)和方法(行为)组成,可以通过调用方法来实现对对象的操作和交互。每个对象都有自己的唯一标识,用于区分其他对象。对象可以通过类来创建,类是对象的模板或蓝图,用于定义对象的属性和方法。对象之间可以通过消息传递来进行通信和交互,一个对象的方法可以调用其他对象的方法。对象的定义是面向对象编程的基础,它可以提供更灵活和可维护的代码结构,使程序更易于理解和扩展。
对象的产生格式如下:
(1)声明并实例化对象
类名称 对象名称 = new 类名称 () ;
(2)先声明对象,然后实例化对象:
类名称 对象名称 = null ;
对象名称 = new 类名称 () ;
当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法。
两种不同的实例化方式区别,看这一篇写的很详细 http://t.csdnimg.cn/SYICl
类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
所有的异常类是从 java.lang.Exception 类继承的子类。
Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。
Java 程序通常不捕获错误。错误一般发生在严重故障时,它们在Java程序处理的范畴之外。
Error 用来指示运行时环境发生的错误。
Exception 异常主要分为两类
下面的列表是 Throwable 类的主要方法:
序号 | 方法及说明 |
---|---|
1 | public String getMessage() 返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。 |
2 | public Throwable getCause() 返回一个 Throwable 对象代表异常原因。 |
3 | public String toString() 返回此 Throwable 的简短描述。 |
4 | public void printStackTrace() 将此 Throwable 及其回溯打印到标准错误流。。 |
5 | public StackTraceElement [] getStackTrace() 返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底。 |
6 | public Throwable fillInStackTrace() 用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中。 |
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
try/catch代码块中的代码称为保护代码,使用 try/catch 的语法如下:
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }
在try代码块中编写可能发生异常的Java语句,catch代码块中编写针对异常进行处理的代码。当try代码块中的程序发生了异常,系统会将异常的信息封装成一个异常对象,并将这个对象传递给catch代码块进行处理。catch代码块需要一个参数指明它所能够接收的异常类型,这个参数的类型必须是Exception类或其子类
注意:catch代码块对异常处理完毕后,程序仍会向下执行,而不会终止程序!
当希望有些语句无论程序是否发生异常都要执行,这时就可以在try…catch语句后,加一个finally代码块(finally中的代码块在有一种情况下是不会执行的,那就是在try...catch中执行了System.exit(0)语句。System.exit(0)表示退出当前的Java虚拟机,Java虚拟机停止了,任何代码都不能再执行了)
throw 关键字用于在当前方法中抛出一个异常。
通常情况下,当代码执行到某个条件下无法继续正常执行时,可以使用 throw 关键字抛出异常,以告知调用者当前代码的执行状态。
eg:
public void checkNumber(int num) {
if (num < 0) {
throw new IllegalArgumentException("Number must be positive");
}
}
throws 关键字用于在方法声明中指定该方法可能抛出的异常。当方法内部抛出指定类型的异常时,该异常会被传递给调用该方法的代码,并在该代码中处理异常。
eg:
public void readFile(String filePath) throws IOException,RemoteException{
//一个方法可以声明抛出多个异常,多个异常之间用逗号隔开
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
reader.close();
}
注意:声明异常的关键字是throws,抛出异常的关键字是throw
在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。
eg:
class MyException extends Exception{
}
只继承Exception 类来创建的异常类是检查性异常类。
一个异常类和其它任何类一样,包含有变量和方法。
以下是实现自定义异常的一般步骤:
public class CustomException extends Exception { // 或者 extends RuntimeException
// 构造方法
public CustomException() {
super();
}
public CustomException(String message) {
super(message);
}
// 可以在这里添加其他自定义方法
}
public class CustomException extends Exception {
// 构造方法
public CustomException() {
super();
}
public CustomException(String message) {
super(message);
}
// 自定义方法
public void printCustomMessage() {
System.out.println("This is a custom exception.");
}
}
throw
关键字抛出异常,或者使用try-catch
块来捕获和处理异常。public class MyClass {
public void myMethod() throws CustomException {
// 抛出自定义异常
throw new CustomException("An error occurred in myMethod.");
}
public static void main(String[] args) {
try {
MyClass obj = new MyClass();
obj.myMethod();
} catch (CustomException e) {
System.out.println(e.getMessage()); // 输出异常信息
e.printCustomMessage(); // 调用自定义方法
}
}
}
通过以上步骤,你就可以在Java中实现自定义异常,并在程序中使用它来处理特定的错误或异常情况。