Java中的单例模式、工厂模式、接口回调、异常

for循环:起点为基本数据类型,包括boolean .
equals():重写原因,希望在地址不同但内容相同时也能返回true。
匿名对象:直接new出对象,不需要对象名来接收。
new Person().show();
内部类:类中的“属性”无法简单的用属性或方法来描述的时候,或者能用属性表达但属性过多时考虑使用内部类。
匿名内部类:作为接口或者抽象类的子类实现的
如果使用自定义一个类去实现抽象类或者接口中的方法,此类若只使用以一次会导致开发目录结构混乱。故使用此种做法。常见用法:作为方法的参数使用。
Java项目中的bin文件夹是binary存放目录。内部类的字节文件名字格式:外部类 1.class 2.class 示例:Staticoutter$Inner

接口回调

回调:指的是回调接口中重写的方法
因为单纯去实现接口中的方法,接口中的方法内容相对比较固定,不够灵活。导致机构混乱。
步骤
1. 定义类,在类中定义一个内部接口。
2. 定义该类的构造方法,构造方法中的一个参数就是接口类型的
3. 在此类中定义一个方法调用接口接口中的抽象方法-方法赋值操作。
4. 测试类中创建类对象,需要匿名内部类(重写接口方法)。
5. 不同的对象重写方法时可以有不同的内容(有点具体体现)。

设计模式:一种被反复使用,多数人知晓的代码经验总结。

单例模式

在开发中一直使用的是该类的同一个对象。即在开发中该类始终只创建一个对象。比如Windows操作系统中始终只有一个任务正在打印。
步骤:
1. 私有化(private)类的构造方法(防止在其它地方new对象)
2. 自己创建(或申明)对象
3. 提供共有(public)的方法给外部提供自己创建的对象。
A. 饿汉式(着急创建对象)
Public Class A{
//构造方法私有化
Private A(){}
Private static final A a=new A();//创建本类对象
Public staticA getInstance(){
Return a;
}
}
B. 懒汉式
Public class B{
Private B(){}
Private static final B b;
Public static B getInstance(){
If(b==null){
b=new B();
}
Return b;
}
}

工厂模式

负责创建对象,便于统一管理多个对象。
在工厂类中定义产生对象的方法getInstance(),不同的对象根据自身特点创建不同对象。

异常

Throwable 类是 Java 语言中所有错误或异常的超类。
Error: 运行应用程序时出现的较大问题,一般很难解决,如:内存溢出(outOfMemoryError)等。
异常:应用程序本身可以处理的问题。
注意:主要在于应用程序本身能否解决。
分类:检查异常(非运行)和非检查(运行异常);
常见到的异常都是运行时异常,且都有对应的异常类。
处理异常:
1. 抛出 throws(方法后面)
处理:try catch
Throw:方法内部表示抛出异常对象。示例:
Exception e = newException();
// throw:负责向外扔异常对象
throw e;
2. 捕获(自己处理或者继续抛出)
格式:
try{
可能存在异常代码
}catch(Exception e){
如果存在异常则会进入的代码块 异常处理代码块
}finally{
无论是否有异常,都会执行代码
}
使用方式:
1.try结合一个catch
2.try结合多个catch语句使用
e.getMessage();//获取异常详细信息
e.printStackTrace();//输出红色错误代码行 输出堆轨迹
3.try..catch…finally
4.try…finally
总结:
1.try必须和catch或者finally结合使用 2.try可以有多个catch但只能有一个finally
经典面试题:

public static void main(String[] args) {
try {
int t=10;
System.out.println("------>"+t);
return;
//System.exit(0);// 终止当前正在运行的 Java 虚拟机。
} catch(Exception e) {
} finally {
System.out.println("啦啦啦");
}
System.out.println("此话在finally后面");
}

注意:
1.finally在return之前执行;
2.一旦遇到system.exit(),则不再执行finally,即system.exit()用于结束finally的执行。
自定义异常:
1. 自定义异常类继承Exception
2. 在调用中throw出自定义异常类对象。
throw new MyException(“用户名小于6位”);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值