java自定义类有哪些(java自定义类及使用)

2025-11-10 13:45:02 0

java自定义类有哪些(java自定义类及使用)

本篇文章给大家谈谈java自定义类有哪些,以及java自定义类及使用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

java自定义类及使用

  1. class定义类   public class Person{}

  2. 使用类,需要创建类的对象  Person p = new Person()

  3. 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的)。

  4.   在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化:

  5. 对于  char、short、byte、int、long、float、double等基本数据类型的变量来说会默认初始化为0(boolean变量默认会被初始化为false);

  6. 对于引用类型的变量,会默认初始化为null。

  7. 如果没有显示地定义构造器,则编译器会自动创建一个无参构造器,但是要记住一点,如果显示地定义了构造器,编译器就不会自动添加构造器。

关于java自定义异常类的一个代码

  1 程序中的异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。

  Java异常类层次结构图:

  使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
    在程序中使用自定义异常类,大体可分为以下几个步骤。
(1)创建自定义异常类。
(2)在方法中通过throw关键字抛出异常对象。
(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
(4)在出现异常方法的调用者中捕获并处理异常。

创建自定义异常类

public class MyException extends Exception {
private static final long serialVersionUID = 1L;
public MyException(){
super();
}
public MyException(String msg){
super(msg);
}
}

使用的话就不演示了 如果你已经研究到了自定义异常 那么我相信你也一定会使用了 

如果不会使用 建议学会使用后再来看这篇文章

java,自定义异常类

super代表他的父类Exception.
super();就是调用父类的构造函数 Exception();
super(msg);就是调用父类的构造函数 Exception(msg);

如何编写和应用Java的自定义异常类

编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。常用的编写自定义异常类的模式如下:
public class CustomException extends Exception { //或者继承任何标准异常类 public CustomException() {} //用来创建无参数对象
public CustomException(String message) { //用来创建指定参数对象
super(message); //调用超类构造器
} 当然也可选用Throwable作为超类。
其中无参数构造器为创建缺省参数对象提供了方便。第二个构造器将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造器向上传递给超类,对超类中的toString()方法中返回的原有信息进行覆盖。来讨论一个具体例子。假设程序中需要验证用户输入的表示年龄的数据必须是正整数值。我们可以按照以上模式编写这个自定义异常类如下: public class NegativeAgeException extends Exception { //或者:extends Throwable public NegativeAgeException() {} public NegativeAgeException(String message) { super(message); }} 下面是应用这个自定义异常类的例子: //完整程序存在本书配套资源目录为Ch11中名为NegativeAgeExceptionTest.java...try{ String ageString = JOptionPane.showInputDialog("Enter your age: "); if (Integer.parseInt(ageString) 《 0) throw new NegativeAgeException("Please enter a positive age"); else JOptionPane.showMessageDialog(null, ageString, "Age", 1);}catch(NegativeAgeException e){ System.out.println(e);}... 或者,可以创建一个缺省对象,然后在catch中打印具体信息,如: throw new NegativeAgeException(); ...catch (NegativeAgeException e) { System.out.println("Please enter a positive age"); 将产生与第一个例子相同的效果。
11.7.2 自定义异常处理
无论是利用标准API异常类来处理特殊的异常,或者编写自定义的异常类来达到同样目的,问题的关键是:《!----》捕获这个异常后,如何产生精确的异常处理信息。 毋庸置疑,我们不可能期待JVM自动抛出一个自定义异常,也不能够期待JVM会自动处理一个自定义异常。发现异常、抛出异常以及处理异常的工作必须靠编程人员在代码中利用异常处理机制自己完成。一般情况下,发现和抛出一个自定义异常通过在try程序块中利用if和throw语句完成,即: try { ... if (someExceptionConditon == true) { throw new CustomException("A custom exception xxx occurred. Please check your entry...") ... }catch (CustomException e) { ...} 而打印异常处理信息可以在抛出时包括在构造器的参数中,或者包括在处理这个异常的catch中。另外应该注意在自定义异常发生之前,有可能产生标准异常的情况。例如,在一个需要验证年龄必须是正整数值的程序中,利用自定义异常类,如NegativeAgeException,验证输入的年龄是否正整数,即: try { ... if (Integer.parseInt(ageString) 《 0) throw NegativeAgeException("Please enter a positive age"); else ... } catch (NumberFormatException e) { System.out.println(e); } catch (NegativeAgeException e) { System.out.println(e); } ... 注意在这个代码中,如果ageString是非法整数字符串,如“25ab”,系统将首先抛出NumberFormatException,而不会执行throw NegativeAgeException("Please enter a positive age")。所以应该在catch中加入对NumberFormatException的处理,如以上代码所示。

java的作业,帮帮孩子

package test20210107;

public class Person extends Object{

    String name;

    int age;

    String sex;

    public Person(String name, int age, String sex) {

        super();

        this.name = name;

        this.age = age;

        this.sex = sex;

    }

    @Override

    public String toString() {

        return "Person ";

    }

}

package test20210107;

public class TestPerson {

    public static void main(String args) {

        Person person = new Person("wang", 15, "男");

        System.out.println(person);

        System.out.println(person.toString());

    }

}

java自定义异常类都有什么

public void MyException extends Exception{\x0d\x0apublic MyExceprion(){\x0d\x0aSystem.out.println("自定义异常");\x0d\x0a}\x0d\x0a}\x0d\x0apublic class Exam{\x0d\x0apublic static void mul() throws MyException{\x0d\x0aif(自己写条件){\x0d\x0athrow new MyException();\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a这个应该能看懂吧,我只是写了个结构没写完整程序的,你看懂这个就行,定义一个自定义异常,然后在你需要的地方抛出异常,在主方法中调用方法的时候达到一定条件就会抛出异常

java自定义异常类

class AException extends Exception
{
}

void test(int a,int b) throws AException
{
if(a《b)throw new AException("被减数不能小于减数");
}

以上都是简单地举了个例子,有问题欢迎提问。

如果你还想了解更多这方面的信息,记得收藏关注本站。

java自定义类有哪些(java自定义类及使用)

本文编辑:admin

更多文章:


wireshark没有找到接口(我在windows xp上安装了wireshark软件,结果提示There are no interfaces on which a capture can be done)

wireshark没有找到接口(我在windows xp上安装了wireshark软件,结果提示There are no interfaces on which a capture can be done)

本篇文章给大家谈谈wireshark没有找到接口,以及我在windows xp上安装了wireshark软件,结果提示There are no interfaces on which a capture can be done对应的知识点,

2025年7月31日 03:30

结束正在运行的程序快捷键(电脑关闭程序快捷键 都有哪些呢)

结束正在运行的程序快捷键(电脑关闭程序快捷键 都有哪些呢)

“结束正在运行的程序快捷键”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看结束正在运行的程序快捷键(电脑关闭程序快捷键 都有哪些呢)!本文目录电脑关闭程序快捷键 都有哪些呢在电脑上结束任务的快捷键是什么(按哪个键结束程序)电

2025年7月3日 03:45

零基础学php培训(昌平IT培训分享学PHP想快点学会要怎么办)

零基础学php培训(昌平IT培训分享学PHP想快点学会要怎么办)

大家好,如果您还对零基础学php培训不太了解,没有关系,今天就由本站为大家分享零基础学php培训的知识,包括昌平IT培训分享学PHP想快点学会要怎么办的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录昌平IT培训分享

2025年12月27日 23:30

维吉尼亚密码怎么用(令n=26,s=4,密钥k=QEGD,明文串M=computer,用维吉尼亚密码体制对M加密)

维吉尼亚密码怎么用(令n=26,s=4,密钥k=QEGD,明文串M=computer,用维吉尼亚密码体制对M加密)

“维吉尼亚密码怎么用”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看维吉尼亚密码怎么用(令n=26,s=4,密钥k=QEGD,明文串M=computer,用维吉尼亚密码体制对M加密)!本文目录令n=26,s=4,密钥k=QE

2026年4月2日 23:45

化妆品入库表单模板(出库单和入库单怎么弄的表格)

化妆品入库表单模板(出库单和入库单怎么弄的表格)

本篇文章给大家谈谈化妆品入库表单模板,以及出库单和入库单怎么弄的表格对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录出库单和入库单怎么弄的表

2025年10月8日 14:30

下载php的软件(php开发软件有哪些(php用什么软件))

下载php的软件(php开发软件有哪些(php用什么软件))

这篇文章给大家聊聊关于下载php的软件,以及php开发软件有哪些(php用什么软件)对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录php开发软件有哪些(php用什么软件)php开发软件有哪些php项目开发用什么软件学php要

2025年9月22日 21:15

isnull()方法的作用(sqlserver中isnull(@RecIndex,’’) <> ’’是什么意思)

isnull()方法的作用(sqlserver中isnull(@RecIndex,’’) <> ’’是什么意思)

其实isnull()方法的作用的问题并不复杂,但是又很多的朋友都不太了解sqlserver中isnull(@RecIndex,’’) ’’是什么意思,因此呢,今天小编就来为大家分享isnull()方法的作用的一些知识,希望可以帮助到大家,

2026年7月2日 14:45

永久免费个人网站申请注册w(如何注册免费网站)

永久免费个人网站申请注册w(如何注册免费网站)

本篇文章给大家谈谈永久免费个人网站申请注册w,以及如何注册免费网站对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录如何注册免费网站个人网站有

2025年11月22日 18:00

constructed environment翻译(翻译下面这段文字)

constructed environment翻译(翻译下面这段文字)

各位老铁们,大家好,今天由我来为大家分享constructed environment翻译,以及翻译下面这段文字的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始

2025年9月26日 03:00

interface如何读(请教几个英文怎么读)

interface如何读(请教几个英文怎么读)

其实interface如何读的问题并不复杂,但是又很多的朋友都不太了解请教几个英文怎么读,因此呢,今天小编就来为大家分享interface如何读的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录请教几个英文怎么读r

2025年12月2日 14:30

广州中小企业网站制作(怎么做中小企业网站呢)

广州中小企业网站制作(怎么做中小企业网站呢)

其实广州中小企业网站制作的问题并不复杂,但是又很多的朋友都不太了解怎么做中小企业网站呢,因此呢,今天小编就来为大家分享广州中小企业网站制作的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录怎么做中小企业网站呢我想建

2026年6月10日 16:15

spite词组(in spite of中spite是恶意,为什么变成短语是尽管的意思)

spite词组(in spite of中spite是恶意,为什么变成短语是尽管的意思)

各位老铁们好,相信很多人对spite词组都不是特别的了解,因此呢,今天就来为大家分享下关于spite词组以及in spite of中spite是恶意,为什么变成短语是尽管的意思的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2025年9月18日 03:45

mvc模式和责任链(网站开发模式除了MVC外还有什么)

mvc模式和责任链(网站开发模式除了MVC外还有什么)

这篇文章给大家聊聊关于mvc模式和责任链,以及网站开发模式除了MVC外还有什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录网站开发模式除了MVC外还有什么软件设计模式主要有哪几种mvc开发模式java 除了mvc设计模式

2025年9月13日 21:00

quadrature(quadrature中文翻译)

quadrature(quadrature中文翻译)

大家好,今天小编来为大家解答以下的问题,关于quadrature,quadrature中文翻译这个很多人还不知道,现在让我们一起来看看吧!本文目录quadrature中文翻译quadrature rule的定义 请问什么是quadratur

2025年11月21日 16:00

datagridview动态添加列(在DataGridView中动态添加combox列)

datagridview动态添加列(在DataGridView中动态添加combox列)

各位老铁们,大家好,今天由我来为大家分享datagridview动态添加列,以及在DataGridView中动态添加combox列的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家

2026年7月18日 09:00

web服务器控件不包括(web用户控件 的优点和缺点在哪里)

web服务器控件不包括(web用户控件 的优点和缺点在哪里)

大家好,如果您还对web服务器控件不包括不太了解,没有关系,今天就由本站为大家分享web服务器控件不包括的知识,包括web用户控件 的优点和缺点在哪里的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录web用户控件

2026年4月12日 16:45

字符串strtok(c语言:如何把字符串分解为一个个的字符)

字符串strtok(c语言:如何把字符串分解为一个个的字符)

其实字符串strtok的问题并不复杂,但是又很多的朋友都不太了解c语言:如何把字符串分解为一个个的字符,因此呢,今天小编就来为大家分享字符串strtok的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录c语言:如何

2025年8月24日 22:45

国内军事新闻(中国最新军事新闻)

国内军事新闻(中国最新军事新闻)

大家好,如果您还对国内军事新闻不太了解,没有关系,今天就由本站为大家分享国内军事新闻的知识,包括中国最新军事新闻的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录中国最新军事新闻关于战争的国内新闻深圳卫视军情直播间播

2025年10月18日 16:30

forks翻译(刀叉的英文怎么说)

forks翻译(刀叉的英文怎么说)

其实forks翻译的问题并不复杂,但是又很多的朋友都不太了解刀叉的英文怎么说,因此呢,今天小编就来为大家分享forks翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录刀叉的英文怎么说亲人怎么翻译英语高手请进,

2026年6月2日 19:15

echo和printf的区别(bash下echo和print的区别在哪里)

echo和printf的区别(bash下echo和print的区别在哪里)

今天给各位分享bash下echo和print的区别在哪里的知识,其中也会对bash下echo和print的区别在哪里进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录bash下echo和print的区别在哪里PH

2026年9月22日 22:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索