instanceof

JavaScript创建对象的常用模式

会有一股神秘感。 提交于 2020-01-16 03:13:01
对象 面向对象语言有一个标志,那就是它们都有类的概念,通过类可以创建任意多个具有相同属性和方法的对象。 ECMAScript没有类的概念,它的对象也与基于类的语言中的对象有所不同。ECMAScript把对象定义为: 无序属性的集合,其属性可以包含基本值、对象或函数。 每个对象实例都是基于一个引用类型创建的,这个引用类型可以是ECMAScript原生类型,也可以是开发者定义的类型。 工厂模式 我们可以通过Object构造函数或对象字面量来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。 为解决上述问题,可以使用 工厂模式 创建对象。工厂模式抽象了创建具体对象的过程。 由于ECMAScript没有类,可以定义一种函数,用函数来封装以特定接口创建对象的细节。例如: function createStudent(name,age) { var obj = new Object(); obj.name = name; obj.age = age; obj.sayName = function(){ alert(obj.name); }; return obj; } var Bob = createStudent("Bob", 24); var Tom = createStudent("Tom", 28); 工厂模式虽然解决了创建多个相似对象的问题

Java_7面向对象的三大特征

做~自己de王妃 提交于 2020-01-15 16:48:37
一、封装(模块化) 1.问题的引入: 当我们创建一个类的对象后,可以通过对象.属性的方式,对对象进行赋值。 这里,赋值操作受到属性的数据类型和存储范围的制约,除次之外,没有其他制约条件。 但是,在实际问题中,我们往往需要给属性赋值加入额外的限制条件,这个条件又不能在属性声明时体现 ,我们只能通过一个public 方法对属性进行限制条件的添加(get(),set()) 同时,我们需要避免用户再使用“对象.属性”进行赋值,则需要将属性声明为私有化。 --》此时,针对属性就体现了封装。 2.封装的思想 (1)类的内部数据操作细节自己完成,不允许外部干涉。仅对外暴露少量的方法用于使用 (2)隐藏对象内部的复杂性。只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。 (3)封装性的设计思想:把该隐藏的隐藏起来,该暴露的暴露出来 例如: public class Animal{ int age;//年龄可能被赋为负数,不符合实际 int legs;//腿有可能被赋为负数或奇数个,不符合实际 } 所以可以给属性设置一个get()和set()方法,来添加限制条件,并获取和设置相应的属性值,如下: public class Animal{ private int age; private int legs; //对属性的设置 publci void setAge(int age){

JsonUtil

☆樱花仙子☆ 提交于 2020-01-13 00:31:01
package com.test.base.util.json; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; public class JsonUtil { public static String object2json(Object obj) { StringBuilder json = new StringBuilder(); if (obj == null ) { json.append("\"\""); } else if (obj instanceof String || obj instanceof Integer || obj instanceof Float || obj instanceof Boolean || obj instanceof Short || obj instanceof Double || obj instanceof

任意对象转化为JSON

好久不见. 提交于 2020-01-13 00:30:03
import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; import java.math.BigInteger; import java.util.List; import java.util.Map; import java.util.Set; /** * 序列化对象为JSON格式 遵循JSON组织公布标准 * * @date 2008/05/07 * @version 1.0.0 */ public class Json { /** Commons Logging instance. */ private static org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(Json. class ); /** * @param obj 任意对象 * @return String */ public static String object2json(Object obj) { StringBuilder json = new

Java instanceof with changing objects

时光怂恿深爱的人放手 提交于 2020-01-12 11:42:45
问题 I need a method where i could pass on a parameter which i assume would be a Class (not sure though) and in that method, instanceof would be used to check if x is an instance of the passed Class. How should i do that? I tried a few things but none worked. 回答1: How about this: public boolean checker(Object obj) { return obj instanceof SomeClass; } or if SomeClass is a parameter: public boolean checker(Object obj, Class someClass) { return someClass.isInstance(obj); } or if you want the instance

Java instanceof with changing objects

[亡魂溺海] 提交于 2020-01-12 11:39:03
问题 I need a method where i could pass on a parameter which i assume would be a Class (not sure though) and in that method, instanceof would be used to check if x is an instance of the passed Class. How should i do that? I tried a few things but none worked. 回答1: How about this: public boolean checker(Object obj) { return obj instanceof SomeClass; } or if SomeClass is a parameter: public boolean checker(Object obj, Class someClass) { return someClass.isInstance(obj); } or if you want the instance

Java instanceof with changing objects

99封情书 提交于 2020-01-12 11:37:49
问题 I need a method where i could pass on a parameter which i assume would be a Class (not sure though) and in that method, instanceof would be used to check if x is an instance of the passed Class. How should i do that? I tried a few things but none worked. 回答1: How about this: public boolean checker(Object obj) { return obj instanceof SomeClass; } or if SomeClass is a parameter: public boolean checker(Object obj, Class someClass) { return someClass.isInstance(obj); } or if you want the instance

javascript:typeof与instanceof区别

China☆狼群 提交于 2020-01-11 06:25:45
from:http://www.wxwdesign.cn/article/skills/javascript_typeof_instanceof.htm JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的: typeof typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。 它返回值是一个字符串,该字符串说明运算数的类型。,typeof一般只能返回如下几个结果: number,boolean,string,function,object,undefined 。 我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){alert("ok")},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特 殊对象使用typeof一律返回object,这正是typeof的局限性。 网上的一个小例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

instanceof和typeof的区别

限于喜欢 提交于 2020-01-11 06:25:28
  1.typeof:可以用来确定一个变量的数据类型 2.instanceof:可以用来确定一个引用类型值的是什么类型的对象 typeof用以获取一个变量的类型,typeof一般只能返回如下几个结 果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存 在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof 一律返回object,这正是typeof的局限性。 如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof。instanceof用于 判断一个变量是否某个对象的实例,如var a=new Array();alert(a instanceof Array);会返回true,同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。再如:function test(){};var a=new test();alert(a instanceof test)会返回true。 如果我们希望获取一个对象是否是数组,或判断某个变量是否是某个对象的实例则要选择使用instanceof

ApplicationContextAware和BeanFactoryAware使用理解

岁酱吖の 提交于 2020-01-10 22:50:56
1.Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法;当一个类实现了这个接口之后,这个类就可以非常方便的获取到ApplicationContext中的所有的bean;简而言之,言而总之,此类可以获取到spring配置文件中所有的bean对象。 2.基本原理见如下代码,核心类:ApplicationContextAwareProcessor public Object postProcessBeforeInitialization(final Object bean, String beanName) throws BeansException { AccessControlContext acc = null; if (System.getSecurityManager() != null && (bean instanceof EnvironmentAware || bean instanceof EmbeddedValueResolverAware || bean instanceof ResourceLoaderAware || bean instanceof ApplicationEventPublisherAware || bean instanceof