Java的单例与继承

本文介绍了Java中的单例模式,包括懒汉模式和饿汉模式,探讨了它们的线程安全问题,并解释了`synchronized`关键字的作用。同时,概述了Java的继承特性,强调了继承在面向对象编程中的重要性,以及其带来的代码复用和层次结构的优势。
摘要由CSDN通过智能技术生成

Java的单例

单例模式的特点

  1. 单例设计模式保证一个类只有一个实例。
  2. 要提供一个访问该类对象实例的全局访问点。

懒汉模式

  1. 懒汉模式:在类加载的时候不被初始化。

饿汉模式

  1. 饿汉模式:在类加载时就完成了初始化,但是加载比较慢,获取对象比较快。

两种模式的特点

  1. 饿汉模式是线程安的,在类创建好一个静态对象提供给系统使用,懒汉模式在创建对象时不加上synchronized,会导致对象的访问不是线程安全的。

Java中的关键字

  1. synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。

  2. 饿汉模式实例 :

class Single{
//1.私有化构造方法
private Single(){}
//2.new一个Single对象
private static final Single s=new Single();
//3.创建一个方法,让外面的类可以拿到对象的引用
public static Single getInstance(){
return s;
     }
 }
  1. 懒汉模式实例 :
class Single{
//1.私有化构造方法
private Single(){}
//2.声明一个对象的引用
private static Single s= null;
//3.判断一下,如果对象为null,再创建一个对象
public static Single getInstance(){
if(s==null){
  s = new Single();
  }
return s;
    }
 }

Java的继承

继承的特点

  1. 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

  2. Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

继承的优点

  1. 继承关系是传递的。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。

  2. 继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系;继承提供了软件复用功能。

  3. 这种做法能减小代码和数据的冗余度,大大增加程序的重用性;提供多重继承机制。

  4. 出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值