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不能构成三角形");
        }
    }
}
相关推荐
wkj0011 分钟前
php操作redis
开发语言·redis·php
武子康4 分钟前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康5 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
极客代码6 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
苏-言12 分钟前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
土豆湿12 分钟前
拥抱极简主义前端开发:NoCss.js 引领无 CSS 编程潮流
开发语言·javascript·css
界面开发小八哥19 分钟前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具
草莓base32 分钟前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
Allen Bright1 小时前
maven概述
java·maven
qystca1 小时前
洛谷 B3637 最长上升子序列 C语言 记忆化搜索->‘正序‘dp
c语言·开发语言·算法