10.14.Java - 枚举、单例模式、异常

本文详细介绍了Java中的枚举特性,包括如何定义枚举类,枚举类的默认继承、构造方法限制以及枚举对象的特性。此外,还探讨了单例模式的两种实现方式——懒汉式和饿汉式,并通过异常处理的示例展示了代码的执行顺序。
摘要由CSDN通过智能技术生成

枚举

特点

  1. 应enum关键字定义枚举类

  2. 枚举类默认继承java.util.Enum类

  3. 枚举类的构造方法只能使用private修饰符,如果构造方法省略修饰符,则默认使用private

  4. 枚举类的所有对象(实例)必须在枚举中显式列出,否则这个枚举类将永远不能创建实例对象

  5. 枚举类的所有对象,系统会自动添加public static final修饰符

    final的作用是内存地址不变,枚举类中对象的常量可以用get/set方法修改

package d14;
/*
	枚举
	特点:
	1.应enum关键字定义枚举类
	2.枚举类默认继承java.util.Enum类
	3.枚举类的构造方法只能使用private修饰符,如果构造方法省略修饰符,则默认使用private
	4.枚举类的所有对象(实例)必须在枚举中显式列出,否则这个枚举类将永远不能创建实例对象
	5.枚举类的所有对象,系统会自动添加public static final修饰符
	final的作用是内存地址不变,枚举类中对象的常量可以用get/set方法修改
	
	作用/使用场景:
	存储固定不变的账户、IP地址、密钥等信息
	不经常换的,但是需要与第三方对接

 */
public enum User {
	//定义对象
	u1(),u2("张三","abc123",100.00);
	
	private String name;
	private String pass;
	private double money;
	
	private User() {
		
	}

	private User(String name, String pass, double money) {
		this.name = name;
		this.pass = pass;
		this.money = money;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPass() {
		return pass;
	}

	public void setPass(String pass) {
		this.pass = pass;
	}

	public double getMoney() {
		return money;
	}

	public void setMoney(double money) {
		this.money = money;
	}

	
}
	

单例模式

设计模式:软件开发规范
单例模式 一个类,有且只能有一个对象
单例模式的写法:

  1. 枚举
  2. 懒汉式
  3. 饿汉式

懒汉式例子

public static Person p;
	private Person(){
		
	}
	public static Person getInstance(){
		if (p == null) {
			p = new Person();
		}
		return p;
	}

饿汉式例子

//饿汉式:在类初始化时,已经自行实例化(在程序执行之前,先完成实例化,在程序执行过程中直接返回创建好的实例化对象)
	private static final Person P = new Person();
	private Person() {
		
	}
	public static Person geInstance() {
		return P;
	}

异常

package d14;

//执行顺序ctr/catch>finally>return
public class TestExpe {
	public static void main(String[] args) {

	}
	public static int showException() {
	try {//可能出现的异常用try包括
		int[] a = new int[5];
		System.out.println(a[4]);
		return 1;
	} catch (Exception e) {捕获异常
		//打印异常信息
		e.printStackTrace();
		System.out.println("出现异常");
		return 2;
	}finally {
		//无论出不出现异常,这里边的代码都会执行
        //如果try中有return返回值,则先执行完finally中的代码,在返回数据
		System.out.println("666666666");
	}
	
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值