-----------------------
android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
其实刚学习java对方法被调用来调用去的思想有些模糊,调用一多了,就有点迷糊了,所以看完视频后,今天准备对方法被调用的方式做一些解释,可能话语没有那么专业化,但是还是为了学习。希望各位大侠多多指点。(结合代码和图看)
class Single
{
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
}
class SheJiMoShi
{
public static void main(String[] args)
{
Single ss = Single.getInstance();
}
/**
方法被调用有两种方式:对象和类名;
在没有对象条件下,如果用类名调用,则方法必须为静态,静态方法再访问类中的成员;
类中的成员变量一般进行私有化(通过方法访问);
如果在类中只有1个对象,则只需要用get方法就可以了,不需要再去用set方法;
上面代码中:Single ss = Single.getInstance();这是静态方法调用,类名调用getInstance()静态方法,它返回的是一个类类型ss的引用
在上面代码中程序执行的顺序是先读取主函数中的代码:Single ss = Single.getInstance();,他们的含义是:
(1)先加载Single类,Single类一加载后,在方法区只中就有了Single类的方法空间(见图),然后有一个静态的S变量,还有一个getSingle方法,当调用了方法后,就返回了一个S,S有一个值就是 new Single(),把new Single()赋给了变量S,而这个new Single()它在堆中是一个内存地址值,它是一个对象,即它必须在对内存中(见图)
(2)在调用getInstance()方法的时候,它返回 了一个S,将这个S赋给了SS(将getInstance里面的值s赋给了SS)(见图)
注意:
对象全在堆里面。
对象一建立就必须分配内存空间。
方法区中的S只是指向对象,引用了这个对象。
*/
}
-----------------------
android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
分享到:
相关推荐
模板方法模式是面向对象设计模式中的行为模式之一,它在Java等面向对象编程语言中有着广泛的应用。模板方法模式的主要思想是在一个抽象类中定义一个算法的骨架,而将一些步骤延迟到子类中实现。这样,子类可以重写...
工厂方法模式是面向对象设计模式中的一种,它属于创建型模式,主要解决的是当系统需要创建的对象具有多种类型,而具体创建哪种类型的对象在运行时才能确定的问题。在这个压缩包中,`FactoryMethod`可能包含了Java...
模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在创建算法族时。这种模式允许我们在抽象类中定义一个算法的框架,而将具体步骤延迟到子类中实现,从而实现了代码复用和扩展。下面...
* 创建型设计模式:以灵活的方式创建对象集合,用于管理对象的创建。 * 结构型设计模式:将己有的代码集成到新的面向对象设计中,用于处理类或对象的组合。 * 行为型设计模式:用于描述对类或对象怎样交互和怎样分配...
单件模式是一种非常实用的设计模式,它可以控制一个类的实例数量,使得调用者可以从一个公共的众所周知的访问点访问。 单件模式的实现基于两个要点:首先,不直接用类的构造函数,而另外提供一个 Public 的静态方法...
工厂方法、简单工厂和抽象工厂是创建型设计模式的三种不同形式,它们都关注于对象的创建过程,但各有其特点和适用场景。 1. **工厂方法(Factory Method)**: 工厂方法模式定义了一个创建对象的接口,但让子类...
工厂方法模式是面向对象设计模式中的一个创建型模式,它提供了一种封装对象创建过程的方式,使得具体的对象创建过程可以延迟到子类中进行。在C++编程中,工厂方法模式广泛应用于各种软件设计中,因为它能有效地解耦...
单体模式是JavaScript中最基本的设计模式之一。它的主要作用是提供一个命名空间,减少全局变量的数量,避免代码冲突,并组织代码使其易于维护。单体模式可以用来划分命名空间,组织代码和避免代码冲突。 2. 工厂...
- **适配器(Adapter)类**:这是核心,它实现了目标接口,并包含了一个适配者的引用,通过适配器,适配者的方法被转换为目标接口的方法。 适配器模式的应用场景广泛,例如: - 当你想使用一个已经存在的类,但是它...
设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...
《研磨设计模式之工厂方法模式》是一本深入解析Java设计模式的专业书籍,特别是对工厂方法模式进行了详尽的探讨。设计模式是软件工程中的一种最佳实践,它们是解决常见问题的经验总结,使得代码更加可读、可维护和可...
在这篇文章中,我们将探讨六种常见的微服务架构设计模式:聚合器微服务设计模式、代理微服务设计模式、链式微服务设计模式、分支微服务设计模式、数据共享微服务设计模式和异步消息传递微服务设计模式。 聚合器...
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式的分类: 设计模式可以分为三大类:创建型模式...
其次,工厂模式是创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是提供一个工厂类来负责创建对象。这样,客户端只需要知道具体工厂,而不必了解...
**设计模式之代理模式** 代理模式是软件设计模式中的一种结构型模式,它在对象交互过程中引入一个代理,代理对象负责控制对原对象的访问。这种模式的主要目的是为了解耦,提供一种替代真实对象的方式,使得客户端...
在给定的“设计模式资料之工厂设计模式”中,我们主要关注的是工厂设计模式,这是一种创建型设计模式,它提供了创建对象的最佳方式。在这个资料中,可能会详细解释工厂模式的概念、目的以及如何在实际编程中应用。 ...
装饰类持有指向被装饰对象的指针,调用被装饰对象的方法,同时可以添加自己的行为。这种方式使得我们可以在运行时改变对象的行为,而无需改变其原始类。 再来看工厂方法模式,这也是创建型设计模式的一种。它定义一...
模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在C++这样的面向对象编程语言中。这种模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的...
### 设计模式之单例设计模式 #### 一、单例设计模式简介 单例设计模式是一种常用的软件设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如数据库连接池、日志...