初学Java小细节自总

Java编译器会自动在子类构造方法中调用父类无参构造,除非显式指定。方法抛出异常需在声明时用throws,遵循异常处理机制。arraycopy操作要求源和目标数组类型一致,引用类型时允许子类赋值给父类。
摘要由CSDN通过智能技术生成

1.如果子类的构造方法中没有显示地调用父类的构造方法,那么Java编译器会自动在子类的构造方法中插入一条默认的super()语句,来调用父类的无参构造方法。因此,如果父类没有提供无参构造方法,而子类的构造方法中又没有显式地调用父类的其他构造方法,那么编译就会失败。 如果子类的构造方法中显式地调用了父类的其他构造方法,那么编译器就不会再自动插入super()语句了。此时,调用父类的构造方法必须放在子类构造方法的第一行,并且必须使用super()语句来调用。

2.java中在某个方法中用throw抛出一个异常后,必须要在该方法声明时用throws抛出异常类型吗,为什么

在Java中,如果一个方法中使用了throw语句抛出异常,那么该方法必须要声明可能抛出的异常类型,否则编译器会提示错误。这是因为Java的异常处理机制要求,在可能会抛出异常的方法中必须对异常进行处理,否则需要将异常抛出给调用者来处理。 在Java中,可以使用try-catch语句来捕获异常并进行处理,也可以使用throws关键字在方法声明中声明可能抛出的异常类型,让调用者来处理异常。如果一个方法中使用了throw语句抛出异常,但没有在方法声明中使用throws关键字声明可能抛出的异常类型,那么编译器会提示错误,因为这样的方法可能会导致运行时未捕获的异常。 因此,在Java中,在一个方法中使用throw抛出异常后,必须要在该方法声明时使用throws抛出异常类型,以便调用者能够知道该方法可能抛出的异常类型,并进行相应的处理。

throw不是在处理异常,处理异常只有throws和try catch。

3.public static void arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)

细节:1.如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错

           2.如果数据源和目的地数组都是引用,(把arr1中对象的地址值赋值给arr2中),子类类型可以赋值给父类类型。

           

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值