类的特殊获取方式——《Thinking in Java》随笔008

//:Lauch.java
// 学习《Thinking in Java》的代码笔记
// Soup是后面学习单例设计模式的一个基础。
package cn.skyfffire;

/**
 *
 * @author skyfffire
 *
 */
class Soup {
    private Soup() {}
    /**
     * 可以via这个static method返回new objecy.
     *
     * @return 新的对象的句柄
     */
    public static Soup makeSoup() {
        return new Soup();
    }

    /**
     * 创建静态对象并根据需求返回句柄
     *
     * return ps1的句柄
     */
    private static Soup ps1 = new Soup();
    public static Soup access() {
        return ps1;
    }
    public void f() {
        System.out.println("Soup f function is run.");
    }
}

class Sandwich {
    public static void main(String[] args) {
        new Lauch().test();
    }

    public void f() {
        System.out.println("Sandwich f function is run.");
    }
}

/**
 * 当然,每一个文件都只有唯一的public class.
 *
 */
public class Lauch {
    void test() {
        Soup priv2 = Soup.makeSoup();
        Sandwich f1 = new Sandwich();

        priv2.f();
        f1.f();

        Soup.access().f();
    }
}
///:~
时间: 2024-12-25 03:52:17

类的特殊获取方式——《Thinking in Java》随笔008的相关文章

表单元素值获取方式js及java方式

大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码: Jsp-html代码: <form action="input.do" name="formkk"> <table>

java学习--基础知识进阶第十三天--反射机制的概述和字节码对象的获取方式、反射操作构造方法、成员方法、成员属性、JavaBean的概述&amp;BeanUtils的使用、自定义BeanUtils工具类

今日内容介绍 u 反射机制的概述和字节码对象的获取方式 u 反射操作构造方法.成员方法.成员属性 u JavaBean的概述&BeanUtils的使用 u 自定义BeanUtils工具类 第1章 反射机制概述.字节码对象的获取方式.反射操作构造方法.成员方法.成员属性 1.1 反射机制的概述和字节码对象的获取方式 1.1.1 反射介绍 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法        这种动态获取的以及动

类与类型 获取类型几种方式!!

说到类型,JavaScript 定义了少量的数据类型: null undefined 布尔值 数字 字符串 函数 和 对象. 假如要区分值得类型,无疑 typeof 首选 .如下 1 typeof 1 2 typeof "string" 3 typeof true 4 typeof null 5 typeof undefined 6 typeof {} 7 typeof /\W/ 8 9 10 11 :1 number 12 :2 string 13 :3 boolean 14 :4

Java多线程和并发(四),线程返回值获取方式和Callable接口

目录 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完毕 3.通过Callable接口实现:通过FutureTask Or线程池获取 四.线程返回值获取方式和Callable接口 1.主线程等待法 public class CycleWait implements Runnable{ private String value; @Override public void run() { try { Thread.currentThread().sleep(50

[多线程系列]unsafe类和反射获取对象字段值速度比较

在分析atomic包的时候看到很多类的静态代码块中使用了一下这个方法(例如AtomicInteger) static { try { valueOffset = unsafe.objectFieldOffset (AtomicInteger.class.getDeclaredField("value")); } catch (Exception ex) { throw new Error(ex); } } 所以对objectFieldOffset方法很好奇,看了注释也没太了解,搜索了相

Andrdoid中对应用程序的行为拦截实现方式之----从Java层进行拦截

致谢: 感谢 简行之旅的这篇blog:http://blog.csdn.net/l173864930/article/details/38455951,这篇文章是参考这篇blog的进行一步一步操作的,如果没有这篇好文章的话,貌似我这篇文章的诞生可能就有点难度了. 今天周日,昨天花了一天的时间总算是搞定了,问题还是想对应用程序的行为进行拦截的操作,就是像小米手机一样,哪些应用在获取你什么权限的信息.在之前写过对应用程序的行为进行拦截的方式(C层)实现的博客,在写完这篇之后,本来想是尽快的把Java

时间Date的各种获取方式

常用的时间获取方式 public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Test public void getTimeStamp() { Date date = new Date(); long times = date.getTime(); System.out.println(times); //第二种方法: new Date().getTime(); } /** * 获取格式化的时间 * 输出格式:2015-08-0

实例化类的四种方式

实例化类有四种方式: 1)使用new操作符 2)调用Class对象的newInstance()方法 3)调用clone()方法,对现有实例的拷贝 4)通过ObjectInputStream的readObject()方法反序列化类 1.new操作符 A a1 = new A(); System.out.println("a1: " + a1); 2.Class.forName()的newInstance方法和Constructor对象的newInstance()方法 Class<A

Atitit,通过pid获取进程文件路径&#160;java&#160;php&#160;&#160;c#.net版本大总结

Atitit,通过pid获取进程文件路径 java php  c#.net版本大总结 1. 通过PID获取进程路径的几种方法2 1.1. GetModuleFileNameEx 想获得进程可执行文件的路径最常用的方法是通过GetModuleFileNameEx函数获得可执行文件的模块路径这个函数从Windows NT 4.0开始到现在的Vista系统都能使用,向后兼容性比较好.2 1.2. 第二种方法是GetProcessImageFileName函数,这个函数在Windows XP及其以后的系