JAVASE入门基础知识整理笔记篇(九)

接口
接口是特殊的抽象类
接口的优点:
定义开发规范
提高代码的复用性
解耦
多实现类只能单继承
在jdk1.7之前接口中只能存在公共的静态的常量+公共的抽象方法
公共的静态的常量
public static final 数据类型 变量名=赋值;
修饰符可以省略,默认存在
公共的抽象的方法:
public abstract 返回值类型 方法名();
修饰符可以省略,默认存在
使用:类名,常量名|实现类名:常量名|实现类对象,常量名
实现类对象,方法名();
注意
1.定义接口Interface关键字
2.抽象方法必须重写
3接口如何使用:
具体的实现类去实现接口,重写里面的抽象方法;按需拓展
抽象的实现类去实现接口,重写部分的抽象方法 按需拓展
4.实现和继承很像 都能使用父类或者父接口中的功能
5.接口不能实例化
6.类只能继承类,继承只能单继承类可以多实现接口,一个类可以实现多个接口
7.接口和接口之间只能继承不能实现,接口可以继承多个接口
8.避免实现的多个接口中存在同名方法

jdk1.8新增:
1.default默认方法,是个具体的方法,只能通过实现类的对象使用
2.静态方法,只能在当前接口中使用,不能通过实现类使用

单例模式:这个类只能有一个实例
饿汉式 无论是否使用,在类加载的时候先创建一个对象 线程安全的 --效率低
懒汉式:在使用的时候才创建对象,不使用不创建 线程不安全–效率高 通过加锁控制

实现单例的步骤
1.私有的构造器
2.私有的静态的该类引用
3.公共的静态的访问方式

实现饿汉式单例
public class Single {
//2.私有的静态的该类引用 存储创建的这个类的实例
private static Single single=new Single();
//1.私有的构造器
private Single(){
}
//3.公共的静态的访问方式
public static Single newInstance(){
return single;
}
}

懒汉式单例
public class SingleTon {
//2.私有的静态的该类的引用
private static SingleTon singleTon=null;
//1.构造器私有化
private SingleTon(){}

//3.公共的静态的访问方式
// A  B  C
/*public static SingleTon newInstance(){
	if(singleTon==null){
		// A  B  C
		singleTon=new SingleTon();
	}
	return singleTon;
}*/

//在方法上加锁
// A  B  C
/*public synchronized static SingleTon newInstance(){
	if(singleTon==null){
		// A  B  C
		singleTon=new SingleTon();
	}
	return singleTon;
}*/

//锁块==双重锁.效率高
public static SingleTon newInstance(){
	if(singleTon==null){
		System.out.println("--------");
		System.out.println("--------");
		System.out.println("--------");
		// A  B  C
		synchronized (SingleTon.class) {
			if(singleTon==null){
				singleTon=new SingleTon();
			}
		}
	}
	return singleTon;
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值