日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常)

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內部類

package AA;public class類 {int de=123;

StringBuffer dee=newStringBuffer();public class成員內部類{public voidff() {

System.out.println("這是成員內部類方法");

}

}/*1.可以訪問外部類所有的成員,包括被聲明為私有(private)的;

2.可以使用任何訪問權限修飾符,包括protected和private;*/

public voidff1() {int de1=12;class局部內部類{public voidff() {

System.out.println("局部內部類方法");

System.out.println(de);

}

}new局部內部類().ff();

}/*1.不允許使用任何訪問權限修飾符;

2.創建局部內部類的對象的語法,必須在聲明局部內部類之后;調用只能在該方法里

3.可以訪問外部類所有的成員,包括被聲明為私有(private)的;*/

private static class靜態內部類{public voidff() {

System.out.println("這是靜態內部類方法");

}

}/*1.只能訪問static成員

2.可以使用任何訪問權限修飾符,包括protected和private;

3.可以在其它類中直接創建靜態內部類的對象,語法格式為:*/

public voiddy() {new 成員內部類().ff();//調用成員內部類方法

//調用方法二:? ?類.成員內部類 de=new 類.成員內部類();

new 類().ff1();//調用局部內部類方法

new 靜態內部類().ff();//調用靜態內部類方法

//調用方法二:類.靜態內部類? de=new 靜態內部類();

}public static voidmain(String[] args) {new類().dy();

}

}

參考:

匿名內部類

參考:

抽象類

異常

先來點基礎的:

public classxin {public static voidmain(String[] args) {try{

System.out.println("hhhhh");int de[]=new int[10];

de[10]=12;

}catch(ArrayIndexOutOfBoundsException fr){

System.out.println("chucuo");

}

}

}

上面代碼解釋了:一個基本異常的基本格式,try{? } ......catch(){? ?}

try。。。catch:不需要拋出異常

自定義異常:

package AA;

import java.util.Scanner;class de1 extends Exception{//首先類要繼承Exception(就是異常類)

publicde1(String fr) {

super(fr);

}

}public classde{public static int fg(int a,int b) throws de1{//聲明方法并且拋出異常(throws de1)

Scanner de1=new Scanner(System.in);

System.out.println("請輸入數值1");

a=de1.nextInt();

System.out.println("請輸入數值2");

b=de1.nextInt();if(a<0||b<0) {throw new de1("負數錯誤");//拋出異常

}if(a>100||b>100) {throw new de1("數大于100錯誤");

}return a+b;

}public static voiddayin() {

System.out.println("異常啦");

}public static voidmain(String[] args) {try{

fg(3123,3123); //調用上面的方法,下面并且打印出結果,打印方法是打印方法的返回值//這里的數字沒多大用處,主要是不出錯//根據上面的方法給出的變量所以這里必須要加//但是上面有輸入流,就直接將這個覆蓋了

System.out.println(fg(3123,3123));

}catch(de1 e) {//這個是try后面必須接的//括號里面的是異常類型,e是結果

dayin();

System.out.println(e);

}

}

}//1,程序通過try走,并且執行fg方法//2,當用戶輸入數值時,會進行判斷,如果不符合就會拋出異常(這里是拋在de1類里面,關鍵字:throw new 類名)//3,try執行已經異常了,所以將會執行catch,而catch可以有多個,那個catch則會判斷try異常屬于哪一類型的異常//4,判斷完后,將會執行catch里面的語句,用來提示用戶//4的注意:上面的判斷下面什么(負數錯誤)(da數錯誤),其實是de1類的構造string方法,可以去掉,直接在catch里面加提語句都一樣//列如下面:去掉構造,在catch里面加已是語句

package AA;

import java.util.Scanner;classde1 extends Exception{

}public classde{static int fg(int a,int b) throws de1{//聲明拋出異常(throws de1)

Scanner de1=new Scanner(System.in);

System.out.println("請輸入數值1");

a=de1.nextInt();

System.out.println("請輸入數值2");

b=de1.nextInt();if(a<0||b<0) {throw new de1();//拋出異常,說白了就是

}if(a>100||b>100) {throw newde1();

}return a+b;

}static voiddayin() {

System.out.println("異常啦");

}public static voidmain(String[] args) {try{

fg(3123,3123); //調用上面的方法,下面并且打印出結果,打印方法是打印方法的返回值//這里的數字沒多大用處,主要是不出錯//根據上面的方法給出的變量所以這里必須要加//但是上面有輸入流,就直接將這個覆蓋了

System.out.println(fg(3123,3123));

}catch(de1 e) {//這個是try后面必須接的//括號里面的是異常類型,e是結果

dayin();

System.out.println("有錯誤喲!");

System.out.println(e);

}

}

}

結論:

1,首先一個自定義異常的要有一個拋回來的異常類,這個類用于其它類執行的方法時拋出來的異常,就拋在這個類里面

注意:這個類必須是繼承Exception(推薦)和RuntimeException

2,然后就可以在‘其他類’里面隨意加方法了,

注意:需要拋出異常就必須在方法名后面加throws 類名,格式:方法名 throws 類名(被拋異常類)

3,聲明好方法后,就可以了

注意:這里番外哈,1,如果里面有if判斷語句,可以在判斷下方在加個'異常拋出',格式:throw new 類名(被拋異常類)

2,注意:throw:是放在方法體里面的

throws:是放在方法體上面的(就是方法名上面)

4,接下來就是用try.....catch了。try里面放異常的方法(說白了就是在try里面執行方法體)

catch就是異常類型了,自定義異常,那‘異常類型’肯定就是‘被拋異常類名’

catch語句格式:catch(類名 返回值(結果)),結果隨意

這個語句一般放在開始執行程序是調用方法那里

下面再舉一個例子:判斷輸出輸入的值是否是負數

package hhh;public classhh extends Exception{static inta,c;static int b=211;public static void de(inta1) throws hh{if(a1<0){throw newhh();

}

a=b*a1*21;

System.out.println("輸出:"+a);

}public static voidmain(String []args){try{

de(-6);

}catch(hh re){

System.out.println("負數無效");

}

}

}

執行結果:拋出異常,執行catch語句

例子二

package AA;

import java.util.InputMismatchException;

import java.util.Scanner;public class異常 extends Exception{

Scanner de=new Scanner(System.in);public voidks()throws 異常 {try{for(;;) {

System.out.println("請輸入數字");int dee=de.nextInt();if(dee<0)throw new異常();

System.out.println("正確");

}

}catch(異常 e) {

System.out.println("對不起你輸入的有誤!!");new異常().ks();

}catch(InputMismatchException ee) {

System.out.println("數字過大或者非數字");new異常().ks();

}

}public static voidmain(String[] args) throws 異常 {new異常().ks();

}

}/*編寫程序:判斷用戶輸入的是否為負數,否則異常*/

執行結果:

(內部類、匿名類、匿名內部類、抽象類、異常、終態)

總結

以上是生活随笔為你收集整理的java 匿名 异常_JAVA类(内部类、匿名内部类、异常、自定义异常)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。