java中接口的简单运用&java中的一些异常(运用myeclipse)
package test;//创建一个名为test的包 public class A4paper implements Paper {
public String getSize(){
return"A4";//实现接口Paper
}
}
package test; public class B5paper implements Paper {
public String getSize(){
return"B5";//实现接口Paper
}
}
package test; public class ColorMohe implements Mohe {
public String getColor(){
return "colorful";//实现接口Mohe
}
}
package test; public interface Mohe {
public String getColor();//创建接口Mohe
}
package test; public interface Paper {
public String getSize();//创建接口Paper
}
package test; public class Printer {
private Mohe mohe;
private Paper paper;
public void print(){
System.out.println("用"+mohe.getColor()+"打印"+paper.getSize()+"纸");
}
public Mohe getMohe(){
return mohe;
}
public void setMohe(Mohe mohe){
this.mohe=mohe;
}
public Paper getPaper(){
return paper;
}
public void setPaper(Paper paper){ this.paper=paper;//完成Mohe与Paper的封装
}
}
package test; public class Test {
public static void main(String[] args){
Printer printer=new Printer();
Mohe mohe=new WhiteMohe();
printer.setMohe(mohe);
Paper paper=new A4paper();
printer.setPaper(paper);
printer.print();//实现用白墨盒打印A4纸的功能
}
}
package test; public class WhiteMohe implements Mohe{
public String getColor(){
return "white";//实现接口Mohe
}
}
如上代码可以实现不同颜色墨盒打印打印不同类型纸张的功能。
下面谈谈java中的异常,异常分Error与Exception,主要讲讲Exception,java中Exception异常很多,常见的有下面5种
InputMismatchException 输入不匹配异常
ArithmeticException 算术异常
ArrayIndexOutOfBoundsException 数组下标越界异常
NullPointerException 空指针异常
NumberFormatException 数字格式转换异常
1.如何捕获异常:使用try-catch、finally语句
package test1;
import java.util.*;
import java.util.Scanner; public class Demo00 {
public static void main(String[] args){
try {
Scanner scanner=new Scanner(System.in);
System.out.println("");
int num1=scanner.nextInt();
int num2=scanner.nextInt();
System.out.println(num1+"/"+num2+"="+num1/num2);
System.out.println("thank you for your use");
}
catch (InputMismatchException e) {
System.err.println("输入不匹配异常");
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ArithmeticException e) {
System.err.println("算术异常");
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (Exception e) {
System.out.println("其他异常");
// TODO Auto-generated catch block
e.printStackTrace();
return;//在finally语句后执行
}
finally {
System.out.println("thank you");
}
}
}
如上代码实现了输入对应的除数与被除数完成除法的功能,在用户输入了对应类型的错误输入值后,控制台上就会以红色文字显示出了哪种错误。代码执行顺序是try语句-->catch语句(非return)-->finally-->catch语句中return
2.throws声明异常
案例:
public class Demo05 {
//1.创建一个方法,声明异常
public void show()throws Exception{
//xxx
System.out.println("*******");
} //2.调用该方法的第一种方式,就是在调用方throws Exception
// public static void main(String[] args)throws Exception {
// Demo05 demo05 = new Demo05();
// demo05.show();
// } //3.用该方法的第二种方式,就是使用try catch捕获异常
public static void main(String[] args) {
Demo05 demo05 = new Demo05();
try {
demo05.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.手工抛异常throw new Exception("");
案例:
public class Demo06 {
public void show() throws Exception {
int a = 3;
int b = 1;
if (a > b) {
System.out.println("a>b");
} else if (a <= b) {
System.out.println("a<=b");
} else {
// 手工抛异常
throw new Exception("程序有问题!");
}
} // public static void main(String[] args)throws Exception {
// Demo06 demo06 = new Demo06();
// demo06.show();
// } public static void main(String[] args) {
Demo06 demo06 = new Demo06();
try {
demo06.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
java中接口的简单运用&java中的一些异常(运用myeclipse)的更多相关文章
- [Java初探08]__简单学习Java类和对象
前言 在前面的学习中,我们对面向对象的编程思想有了一个基本的了解,并且简单的了解了类和对象的定义.那么类和对象在Java语言中是如何表现的,这次,就从实际出发,学习一下一下类和对象在Java语言中的使 ...
- IPv6调用java后端接口报错:java.net.SocketException: Protocol family unavailable
目前需求是java后端的接口需要支持IPv6.先确认linux机器已经绑定了IPv6: CMREAD-SV43 apache-tomcat/bin> ifconfig eth0 Link enc ...
- Java实现接口用来弥补Java单继承的缺陷
package com.test3;/** * @author qingfeng * 功能:继承类 VS 实现接口 :两者之间的关系(实现接口用来弥补Java单继承的缺陷) */public clas ...
- java 通过接口在后台管理器中生成数据
需求:测试人员在后台批量添加数据很麻烦,特别是针对一款商品配置了英语,还需要手动添加法语.俄语.阿拉伯语,很麻烦,但是因为没有项目组配合,做个小工具批量生成数据就只有自己去研究了 第一步:通过抓包工具 ...
- 【Java面试】请简单说一下你对受检异常和非受检异常的理解
Hi,我是Mic 今天给大家分享一道阿里一面的面试题. 这道题目比较基础,但是确难倒了很多人. 关于"受检异常和非受检异常的理解" 我们来看看普通人和高手的回答. 普通人: 嗯.. ...
- Servlet视频-开发第一个java web(最简单的java web程序)(二)
web项目有目录结构要求 WEB-INFO 文件夹 是一个Servlet规范,必须要这么命名,在换个文件夹里面如果创建一个jsp文件是不能直接访问的,在WEB-INfO文件夹之外创建的jsp可以直接访 ...
- java . -- IDEA运行最简单的Java程序Hello World
以下内容基于IDEA, JAVA EE已经安装好的情况. 如果没有安装好,网上的安装教程非常多的. 下面开始,18个图解 点击Finish 运行的代码如下: public class HelloWor ...
- java微信接口之五—消息分组群发
一.微信消息分组群发接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_t ...
- java微信接口之四—上传素材
一.微信上传素材接口简介 1.请求:该请求是使用post提交地址为: https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=A ...
随机推荐
- <转>Excel生成guid、uuid
Excel生成guid.uuid 原文地址:https://www.cnblogs.com/jory/p/7718305.html 1.Excel生成guid,uuid 格式:600d65bc- ...
- python 装饰器 第十步:装饰器来装饰器一个类
第十步:装饰器来装饰一个类 def kuozhan(cls): print(cls) #声明一个类并且返回 def newHuman(): # 扩展类的功能1 cls.cloth = '漂亮的小裙子' ...
- 系统安装1---U盘启动器制作
1.下载PE制作工具,现在有很多的PE制作工具,如老毛桃,大白菜等.下面我使用的是IT天空的U盘PE制作工具. 下载地址:https://www.itiankong.net/thread-369670 ...
- 洛谷 P1972 [SDOI2009]HH的项链——树状数组
先上一波题目 https://www.luogu.org/problem/P1972 这道题是询问区间内不同数的个数 明显不是正常的数据结构能够维护的 首先考虑 因为对于若干个询问的区间[l,r],如 ...
- Oralce分页
SELECT *FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( SELECT A . ID AS "id", A .bill_noti ...
- [Fw]中断的初始化
要使用中断肯定得初始化,这些初始化在系统启动时已经为你做好了,但是我们还是来看看怎样初始化的,这样就能更好的理解中断机制了.先看下面函数: 355 void __init init_ISA_irqs ...
- 【置顶】CSP/S 2019退役祭
标题没错,今年就是我的最后一年了. 才高一啊,真不甘心啊. DAY1(之前的看前几篇博客吧) T1 现在没挂 T2 貌似是树形DP,跑到80000的深度时挂了,于是特判了链的情况,大样例过了,现在没挂 ...
- ArcGis基础——相接面制造指定距离的分隔带
回家,出发前夜,看完电影吃晚饭回到住处已近十一点,和同事扯了一会儿淡,正准备去睡觉,这哥们儿突然想起一个问题: 如何把相接的面搞出一个20cm的分隔带?因为两区划定项目数据质检要求不同的地块图斑间应有 ...
- webpack + vue 打包生成公共配置文件(域名) 方便动态修改
需求原因 原来的项目中域名是打包到项目里面的,打包后不能动态配置,只能通过不同的指令打包来切换域名,每天都在测试域名和正式域名来回摩擦,后台大佬说你们可以生成一个配置文件这样就不用频繁打包了直接修改配 ...
- smb.conf - Samba组件的配置文件
总览 SYNOPSIS smb.conf是Samba组件的配置文件,包含Samba程序运行时的配置信息.smb.conf被设计成可由swat (8)程序来配置和管理.本文件包含了关于smb.conf的 ...