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

一、手动抛出异常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;
    }
  }
  
}

65.1

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

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};
    
  }
}

65.2

四、源码:
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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
65.3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值