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不能构成三角形");
        }
    }
}
相关推荐
梦想科研社4 分钟前
【无人机设计与控制】红嘴蓝鹊优化器RBMO求解无人机路径规划MATLAB
开发语言·matlab·无人机
除了菜一无所有!5 分钟前
基于SpringBoot技术的教务管理
java·spring boot·后端
混迹网络的权某7 分钟前
每天一道C语言精选编程题之求数字的每⼀位之和
c语言·开发语言·考研·算法·改行学it·1024程序员节
lexusv8ls600h1 小时前
微服务设计模式 - 断路器模式 (Circuit Breaker Pattern)
java·微服务·设计模式
逸狼1 小时前
【JavaEE初阶】网络原理(2)
java·网络·java-ee
甲柒1 小时前
12-Docker发布微服务
java·docker·微服务
一只特立独行的猪6111 小时前
Java面试题——微服务篇
java·开发语言·微服务
浅念同学1 小时前
JavaEE-多线程上
java·java-ee
liuyang-neu3 小时前
力扣 简单 70.爬楼梯
java·算法·leetcode
喵手3 小时前
Java 与 Oracle 数据泵实操:数据导入导出的全方位指南
java·开发语言·oracle