欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java连载65-自定义手动抛出异常、子类的异常范围、数组初探

程序员文章站 2022-08-11 19:18:04
一、手动抛出异常1.自定义无效名字异常: (1)编译时异常,直接继承Exception (2)运行时异常,直接继承RuntimeException 举例子:注意点:throws会向上抛出异常,跑到最上面的话,也就是到了main主方法了,就不要再抛了,使用try...catch....打印出来吧,当然 ......

一、手动抛出异常1.自定义无效名字异常:

(1)编译时异常,直接继承exception

(2)运行时异常,直接继承runtimeexception

举例子:注意点:throws会向上抛出异常,跑到最上面的话,也就是到了main主方法了,就不要再抛了,使用try...catch....打印出来吧,当然写throws好像也没问题。

 

package com.bjpowernode.java_learning;

​

public class d64_2_manualthrowexception {

  public static void main(string[] args) {

    try {

      customer65 c1 = new customer65();

      c1.register("ng");

    }catch(illegalnameexception i1) {

      system.out.println(i1.getmessage());

    }

  }

}

class illegalnameexception extends exception{

  //编译时异常

  public illegalnameexception() {}

  public illegalnameexception(string msg) {

    super(msg);

  }

}

class customer65{

  string username = "jack";

  public void register(string username) throws illegalnameexception{

    if(username.length()<3) {

      //创建异常对象

      illegalnameexception i1 = new illegalnameexception("用户名长度不能少于3位");

      //手动抛出异常

      throw i1;

     

    }else {

      this.username = username;

    }

  }

 

}

Java连载65-自定义手动抛出异常、子类的异常范围、数组初探

二、重写的方法不能比被重写的方法抛出更为宽泛的异常

例子:

class a{

  public void m1(){}

}

classs b extends a{

  public void m1() throws exception{}

  //子类永远无法抛出比父类更多的异常

}

 

释义:这样会编译错误,子类的出现了异常,而父类是没有抛出异常的

三、数组

1.数组一种引用数据类型

2.数组是一种简单的数据类型,线性的结构

3.数组是一个容器,可以用来存储其他元素,数组是可以存储任意数据类型的​元素。

4.​数组分为:一维数组、二维数组、三维数组、多维数组​。。。

5.数组中存储的​元素类型是统一的。

6.数组长度不可以改变,数组一旦创建长度是不可以变得,固定的

7.数组会使用数组的首元素地址作为引用指向的地址。

8.数组的每一个元素都是有下标的,有索引的,从0开始,任何一个数组都一个length属性用来获取数组中​元素的个数。数组最后一个元素的下标数组元素个数减1.

9.数组的优点:查找效率比较高;缺点也是显然的:随意增删元素​效率会很低。

​举个例子:

 

package com.bjpowernode.java_learning;

​

public class d65_2_arrayexcerse {

  public static void main(string[] args) {

    //声明一个一维数组,用来存储int类型

    int[] a1 = {100,200,300,400};

    //boolean类型数组

    boolean a2 = {true,false,true};

    //string类型数组

    string[] a3 = {"zhansan","lisi","wangwu"};

    //object数组

    object o1 = new object();

    object o2 = new object();

    object o3 = new object();

    object[] objs = {o1,o2,o3};

   

  }

}

 

Java连载65-自定义手动抛出异常、子类的异常范围、数组初探

四、源码:

d65_1_manualthrowexception.java

d65_2_arrayexcerse.java

https://github.com/ruigege66/java/blob/master/d65_1_manualthrowexception.java

https://github.com/ruigege66/java/blob/master/d65_2_arrayexcerse.java

2.csdn:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 Java连载65-自定义手动抛出异常、子类的异常范围、数组初探