Java.7--接口-内部类-异常处理

一、接口(重点)

1.为啥要学习接口?

(1)

---java支持单继承的,子类就没办法扩充方法了,于是使用接口来实现。

---java支持多实现的,实现类可以多实现接口。

(2)

---接口成为各部门之间,沟通程序业务的方式和手段。

为啥呢?接口可以定义规则!

---接口里的属性都是public static final

接口里的方法 (旧)public abstract

(新) 可以有具体方法。

---接口里全是抽象方法,意义呢?---指个方向。

接口和抽象类的区别:抽象类单继承,接口多实现。

【接口实例】

【Actor类】

java 复制代码
package Demo1.ch3;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

public class Actor  implements Movie,Dianshi,Sing{
  String name;

    public Actor(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void movie() {
        System.out.println("我能演电影");
    }

    @Override
    public void dianshi() {
        System.out.println("我能演电视剧");
    }

    @Override
    public void sing() {
        System.out.println("我能唱歌");
    }
}

【接口类3个】

java 复制代码
package Demo1.ch3;

public interface Dianshi {
    void dianshi();
}
java 复制代码
package Demo1.ch3;

public interface Movie {
    void movie();
}
java 复制代码
package Demo1.ch3;

public interface Sing {
    void sing();
}

【测试类】

java 复制代码
package Demo1.ch3;

public class Test {
    public static void main(String[] args) {
        Actor actor=new Actor("马素素");
        System.out.println("大家好,我是"+ actor.getName());
        actor.movie();
        actor.dianshi();
        actor.sing();

    }
}

二、内部类(了解)

1.类的组成: 属性,方法,构造器,代码块,内部类
2.出现内部类的原因?

----java支持单继承:影响是功能的扩展

----内部类 > 接口

三、异常处理机制:java异常处理机制怎么用!

1. 为什么要用异常处理机制?

保证程序不终止!不用的情况下,一点点小问题,都会导致整个程序终止。
2.异常处理机制的5个关键字:

发现问题,解决问题--两种情况
第一种方法:我能解决:try--catch--finally
第二种方法:我不能解决:向上报告 --->声明异常thorws

try: 监控可能会出现问题的代码
catch: 解决问题的部分
finally: 善后部分
thorws:方法声明的地方
thorw: 制造异常的(原因是 引用开发者的注意!)

private int age;

setAge(int age){

if(age>=0 && age<=100){

this.age=age;

}else{

//this.age=20;//

throw new Exception("");

}

}
3.自定义异常类
【创建自定义异常类】

public class AgeException extends Exception {

public AgeException(String mess){

super(mess);

}

}
【使用自定义异常】

throw new AgeException("年龄必须是0-100之间才可以!");
4.异常类型
Object:

所有类的基类,提供了所有对象的基本行为和属性。
Throwable:

所有可以被抛出的异常和错误的基类,提供了获取异常信息的方法。
Error:

表示严重的系统错误 ,通常是不可恢复的,不应被捕获和处理。
Exception:

表示可以被捕获和处理的异常,分为受检异常和非受检异常。

受检异常:编译器强制要求处理。

非受检异常:编译器不要求处理,通常表示编程错误。
5.注意
(1)多个catch的时候:Exception位置一定是最后
try{
System.out.println(1/0);
}catch (ArithmeticException e){

}catch (Exception e){

}
(2)fianlly{ }什么时候不执行
报错的时候---走finally
不报错的时候---也走finally
break、return ---也finally
System.exit(0);---不走finally

【异常处理实例】

java 复制代码
package Demo1.ch4;

public class Test2 {
    //2.写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形,
//如果不能则抛出异常IllegalArgumentException,显示异常信息 "a,b,c不能构成三角形",
//如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法,并捕获异常。
    public static void main(String[] args) {
     isTriangle(1,2,3);
    }

    public static void isTriangle(int a, int b, int c) {
        if ((a + b > c) && (a + c > b) && (b + c > a)){
            System.out.println("三角形的三个边长是:"+a+b+c);
        }else {
            throw new IllegalArgumentException("a,b,c不能构成三角形");
        }
    }
}
相关推荐
RainbowSea9 小时前
12. LangChain4j + 向量数据库操作详细说明
java·langchain·ai编程
RainbowSea9 小时前
11. LangChain4j + Tools(Function Calling)的使用详细说明
java·langchain·ai编程
考虑考虑13 小时前
Jpa使用union all
java·spring boot·后端
用户37215742613513 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊14 小时前
Java学习第22天 - 云原生与容器化
java
渣哥16 小时前
原来 Java 里线程安全集合有这么多种
java
间彧16 小时前
Spring Boot集成Spring Security完整指南
java
间彧16 小时前
Spring Secutiy基本原理及工作流程
java
Java水解17 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆19 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试