静态方法

Facade静态代理

社会主义新天地 提交于 2020-02-03 01:34:52
< ? php namespace app\index\controller ; //use \app\facade\Test; class Demo2 { public function index ( $name = 'ThinkPHP' ) { //对象方式访问hello方法 // $test = new \app\common\Test; // return $test->hello($name); /** * 如果想静态调用一个动态方法,需要给当前的类绑定一个静态代理的类 *如果没有在静态代理类中显示指定要绑定的类名,就需要动态显示绑定一下 * \think\Facade::bind() */ \think\Facade : : bind ( 'app\facade\Test' , '\app\common\Test' ) ; // 实际上访问路径为 \app\facade\Test::hello('Peter Zhu'); return Test : : hello ( 'Peter Zhu' ) ; } } 名字建议和代理类相同 < ? php namespace app\facade ; //app\facade\Test 代理了 app\common\Test class Test extends \ think \ Facade { //代理app\common

Python中面向对象的静态方法

北城以北 提交于 2020-02-02 23:47:06
Python中面向对象的静态方法 在开发的过程中,需要在类中封装一个方法,并且这个方法: 1. 不需要访问实例属性或调用方法 2. 不需要访问类属性或调用类方法 这个时候,就需要把这个方法封装成一个 静态方法 class Xxx ( ) : @ staticmethod def xxx ( ) : pass def __init__ ( self , name ) : self . name = name 来源: CSDN 作者: Atao_tao 链接: https://blog.csdn.net/Atao_tao/article/details/104147444

Spring的实例工厂方法和静态工厂方法

最后都变了- 提交于 2020-02-02 12:38:55
Spring的实例工厂方法和静态工厂方法 静态工厂方法:直接调用静态方法可以返回Bean的实例 package com.zhu.string.factory; import java.util.HashMap; import java.util.Map; public class StaticCarFactory { /** * 静态工厂方法:直接调用静态方法可以返回Bean的实例 * */ private static Map<String ,Car > cars=new HashMap<String , Car>(); static{ cars.put("audi", new Car(3000, "aodi")); cars.put("fodo", new Car(3000, "aodi")); } //静态工厂方法 public static Car getCar(String name){ return cars.get(name); } } 实例工厂方法。即调用工厂本身,再调用工厂的实例方法来返回bean实例 package com.zhu.string.factory; import java.util.HashMap; import java.util.Map; public class InstanceCarFactory { /** * 实例工厂方法

Spring的实例工厂方法和静态工厂方法

梦想与她 提交于 2020-02-02 12:22:01
Spring的实例工厂方法和静态工厂方法 静态工厂方法:直接调用静态方法可以返回Bean的实例 package com.zhu.string.factory; import java.util.HashMap; import java.util.Map; public class StaticCarFactory { /** * 静态工厂方法:直接调用静态方法可以返回Bean的实例 * */ private static Map<String ,Car > cars=new HashMap<String , Car>(); static{ cars.put("audi", new Car(3000, "aodi")); cars.put("fodo", new Car(3000, "aodi")); } //静态工厂方法 public static Car getCar(String name){ return cars.get(name); } } 实例工厂方法。即调用工厂本身,再调用工厂的实例方法来返回bean实例 package com.zhu.string.factory; import java.util.HashMap; import java.util.Map; public class InstanceCarFactory { /** * 实例工厂方法

Java 静态代理和动态代理

最后都变了- 提交于 2020-02-02 10:07:29
Java 静态代理 静态代理通常用于对原有业务逻辑的扩充。比如持有二方包的某个类,并调用了其中的某些方法。然后出于某种原因,比如记录日志、打印方法执行时间,但是又不好将这些逻辑写入二方包的方法里。所以可以创建一个代理类实现和二方方法相同的方法,通过让代理类持有真实对象,然后在原代码中调用代理类方法,来达到添加我们需要业务逻辑的目的。 这其实也就是代理模式的一种实现,通过对真实对象的封装,来实现扩展性。 一个典型的代理模式通常有三个角色,这里称之为**代理三要素** 共同接口 public interface Action { public void doSomething ( ); } 真实对象 public class RealObject implements Action{ public void doSomething () { System.out.println( "do something"); } } 代理对象 public class Proxy implements Action { private Action realObject; public Proxy (Action realObject) { this.realObject = realObject; } public void doSomething () { System.out.println

JDK动态代理

爷,独闯天下 提交于 2020-02-02 10:03:29
一、基本概念 1.什么是代理? 在阐述JDK动态代理之前,我们很有必要先来弄明白代理的概念。代理这个词本身并不是计算机专用术语,它是生活中一个常用的概念。这里引用维基百科上的一句话对代理进行定义: A proxy is an agent or substitute authorized to act for another person or a document which authorizes the agent so to act. 意思是说:代理指的是一个代理人(或替代品),它被授权代表另外一个人(或文档)。 从这个简明扼要的定义中,可以看出代理的一些特性:1.代理存在的意义就是代表另一个事物。2.代理至少需要完成(或实现)它所代表的事物的功能。 2.什么是JAVA静态代理? JAVA静态代理是指由程序员创建或工具生成的代理类,这个类在编译期就已经是确定了的,存在的。 典型的静态代理模式一般包含三类角色: 1.抽象角色:它的作用是定义一组行为规范。抽象角色一般呈现为接口(或抽象类),这些接口(或抽象类)中定义的方法就是待实现的。 2.真实角色:实现了抽象角色所定义的行为。真实角色就是个普通的类,它需要实现抽象角色定义的那些接口。 3.代理角色:代表真实角色的角色。根据上面代理的定义,我们可以知道代理角色需要至少完成(或实现)真实角色的功能。为了完成这一使命

解释内存中的栈、堆、静态区

让人想犯罪 __ 提交于 2020-02-02 09:57:25
①通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是方法调用的现场保存都使用内存中的栈空间。 ②通过new关键字和构造器创建的对象都放在堆空间。 ③程序中的字面量,比如直接写的100、"hello world"和常量都放在静态区。 ④栈空间操作起来最快但是小,通常对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。 ⑤例如: String str = new String("hello"); 上面的语句,变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区。 来源: CSDN 作者: 学亮编程手记 链接: https://blog.csdn.net/a772304419/article/details/104132047

Java静态内部类详解

你离开我真会死。 提交于 2020-02-02 03:57:11
1. 什么情况下可以使用静态的类? 使用静态的类的只有一种情况,就是在内部类中。如果是在外部类中使用static关键字是会报错的。 2.静态内部类的使用条件限制 1静态的内部类中不能访问外部类中非静态的变量和方法。 class Outer { public String name = "什么神奇" ; private int age ; public void fun ( ) { System . out . println ( "我靠" ) ; } public static class Inner { public void fun2 ( ) { fun ( ) ; //报错 System . out . println ( name ) ; //报错 } } } 再来对比普通内部类的使用 class Outer { public static String name = "什么神奇" ; private int age ; public static void fun ( ) { System . out . println ( "我靠" ) ; } public class Inner { public void fun2 ( ) { fun ( ) ; System . out . println ( name ) ; } } } 证明了一点

创建静态获取资源类

ぐ巨炮叔叔 提交于 2020-02-01 12:12:25
在开发的过程中,有时候需要先获取到项目中的一些静态资源。如:图片等。 为了统一把静态资源封装,并更好的使用。下面有两种封装类的方法。 1、直接封装静态资源 public class GetImages {//创建统一获取的类 public static URL background = GetImages.class.getResource("background.jpg"); //创建出静态的图片资源 public static ImageIcon backgroundIcon = new ImageIcon(background); } //其他类进行调用 GetImages.backgroundIcon;//直接调用 2、封装静态方法类 public class GetImages { private static BufferedImage read; public static BufferedImage getImage(String url) { //通过IO流进行图片资源的获取 try { read = ImageIO.read(GetImages.class.getResource(url)); } catch (IOException e) { e.printStackTrace(); } return read; } } //其他类进行调用 GetImages

开迅科技 Android面试总结

我的未来我决定 提交于 2020-02-01 06:17:02
公司介绍 开迅科技主要的产品有2个,开迅视频与触手TV,开迅视频是一款中国领先的移动视频播放平台,而触手TV是一款在线直播的手游直播APP,拥有广阔的发展前景, 在第一次观看手游直播,就被风趣的主播所吸引~ 我知道的就这么多啦== 应聘岗位 Android开发 面试过程 前一天约定下午3点面试,由于住在滨江,2点就驱车前往,幸好提前去,不然又要堵车迟到,过去的隧道真心堵啊。 到了公司,是文萍姐(HR)带我到会议室,等待着技术大大的考验,心情忐忑啊 ==|| 过了会技术大大来了,拿着我的简历进来了, 开始蛮紧张的,但是让我做下自我介绍, 幸好之前有准备,这里有2个注意点,就是简历的工作经历,应该从最近开始写,而自我介绍,最好从毕业开始, 因为面试官希望从中看出你的发展轨迹,在介绍中,主要介绍自己在公司项目中的工作,而不是大篇幅的描述公司的产品, 他面试的是你,不是你的公司。 介绍了从毕业到现在工作的公司,担任的项目,稍微提下用到的一些技术点。 印象中不清楚的问题 1. static 内部类 与 非静态的区别 这个问题其实主要还是要理解static修饰词的作用 首先理解java内存的知识 http://bbs.csdn.net/topics/370001490 http://zhangtk.com/2015/05/19/Java%E4%B8%AD%E7%9A%84%E9%9D%99