首页 > 其他分享 >知识点

知识点

时间:2024-03-05 16:36:03浏览次数:19  
标签:知识点 String 构造方法 super 异常 public RegisterException

知识点
super()只能出现在构造方法的第一行,通过当前的构造方法去调用“父类”中的对应的构造方法,目的是:创建子类对象时,先初始化父类型特征。
用通俗的话来讲,要想有儿子,得先有父亲。
当子类的构造方法内第一行没有出现“super()”时,系统会默认给它加上无参数的"super()"方法。
构造方法中“this()”和“super()”不能同时出现,也就是“this()”和“super()”都只能出现在构造方法的第一行。
因为当你在一个类中写了有参数的构造方法时,无参数构造方法就会不存在,你需要自己补上无参数的构造方法,这是一个良好的编程习惯。
总结:
1、this和super一样,都是对象内部的引用变量,只能出现在对象内部;

2、this指向当前对象自己,super指向当前对象的父类型特征,故this的东西比super多,也就是super是this的一部分;

3、this()和super()都只能出现在构造方法的第一行,故this()和super()方法不能共存,当一个类的构造方法第一行中没有this(),也没有super(),系统默认有super()方法;

4、this()是构造方法中调用本类其他的构造方法,super()是当前对象构造方法中去调用自己父类的构造方法。


原文链接:https://blog.csdn.net/pipizhen_/article/details/107165618


模拟注册操作,如果用户名已存在,则抛出异常并提示:亲,该用户名已经被注册。

首先定义一个登陆异常类RegisterException:

// 业务逻辑异常
public class RegisterException extends Exception {
/**
* 空参构造
*/
public RegisterException() {
}

/**
*
* @param message 表示异常提示
*/
public RegisterException(String message) {
super(message);
}
}


模拟登陆操作,使用数组模拟数据库中存储的数据,并提供当前注册账号是否存在方法用于判断。

public class Demo {
// 模拟数据库中已存在账号
private static String[] names = {"bill","hill","jill"};

public static void main(String[] args) {
//调用方法
try{
// 可能出现异常的代码
checkUsername("nill");
System.out.println("注册成功");//如果没有异常就是注册成功,有异常就不会执行这一句
}catch(RegisterException e){
//处理异常
e.printStackTrace();
}
}

//判断当前注册账号是否存在
//因为是编译期异常,又想调用者去处理 所以声明该异常
public static boolean checkUsername(String uname) throws LoginException{
for (String name : names) {
if(name.equals(uname)){//如果名字在这里面 就抛出登陆异常
throw new RegisterException("亲"+name+"已经被注册了!");
}
}
return true;
}
}

 

标签:知识点,String,构造方法,super,异常,public,RegisterException
From: https://www.cnblogs.com/zhaoshengfu/p/18054328

相关文章

  • Java知识点-笔记
    知识点集合实例变量实例变量是指在类中声明的变量,其值是针对类的每个实例而独立存储的。每个类的实例都有自己的一组实例变量,它们的值可以在对象创建时初始化,并在整个对象的生命周期中保持不变或者随着对象的状态而改变。实例变量也被称为对象变量,因为它们是在类的对象实例化时......
  • 知识点
    throws异常和throw的区别共同点两者在抛出异常时,抛出异常的方法并不负责处理,顾名思义,只管抛出,由调用者负责处理。区别(1)throws用于方法头,表示的只是异常的申明,而throw用于方法内部,抛出的是异常对象。(2)throws可以一次性抛出多个异常,而throw只能一个(3)throws抛出异常时,它的上级(调用者)......
  • 知识点try catsh
     /*trycatch:自己处理异常*try{*可能出现异常的代码*}catch(异常类名Ae){*如果出现了异常类A类型的异常,那么执行该代码*}...(catch可以有多个)*finally{*最终肯定必须要执行的代码(例如释放资源的代码)*}*代码执行的顺序:*1.try内的代码从出现异常的那......
  • 总结的Java知识点集合
    这是我读大学时的Java知识点总结,还不全面,后续会逐渐增加完善。知识点集合实例变量实例变量是指在类中声明的变量,其值是针对类的每个实例而独立存储的。每个类的实例都有自己的一组实例变量,它们的值可以在对象创建时初始化,并在整个对象的生命周期中保持不变或者随着对象的状态而......
  • 知识点
    java.util包提供了Date类来封装当前的日期和时间。Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间来初始化对象。Date();第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。Date(longmillisec);Date对象创建以后,可以调......
  • FPGA数码管知识点整理
    知识点:  数码管控制分为位选和段选,通过位控制哪一个数码管亮,通过段选控制数码管中某一段亮。  我硬件买的上面的是共阳极的,也就是段选位给低电平就能亮。  下面是段选的位控制要显示的数据。比如数字0只要让G位灭掉就行,通过给段选8'h1100_0000 (共阳极),将g和点灭掉就是0......
  • 网络知识点
    TCP/IP协议通常分为四层:应用层,传输层,网络层,网络接口层网络接口层的传输单位是帧,网络层的传输单位是包,传输层的传输单位是段,应用层的传输单位是报文 1、应用层:HTTP、DNS、FTP(应用层工作在操作系统中的用户态,其他层在内核态)2、传输层:TCP、UDP3、网络层:IPiPv4协议,IP的地址......
  • CSS知识点总结
    盒模型宽度:width高度:height边框:border圆角:border-radius外边距:margin内边距:padding阴影效果:box-shadow背景:background背景颜色:background-color背景图片:background-image背景位置:background-position背景大小:background-size背景(图片)是......
  • 软考高项知识点汇总(一)
    一、信息与信息化1.信息(1)定义。1)控制论的创始人维纳认为:信息就是信息,它既不是物质也不是能量。2)根据信息化的奠基者香农的描述:信息用来“消除不确定的因素”。3)信息的概念存在两个基本的层次,即本体论层次和认识论层次。前者是纯客观的层次,只与客体本身的因素有关,与主体的因素......
  • 知识点
    浅析Java中的final关键字谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:一.final关键字的基本用法二.深入理解final......