java面向对象如何创建对象?

Python015

java面向对象如何创建对象?,第1张

java作为互联网编程中使用范围最广泛的编程语言之一,我们有许多的知识是需要掌握学习的,今天java课程培训机构http://www.kmbdqn.cn/就给大家分析讲解一下java面向对象的编程方法有哪些。

常用的创建对象的模式有以下几种:

一.工厂模式

工厂模式抽象了具体对象的过程,用函数来封装以特ing接口创建对象的细节。

如下:

functioncreateAnimal(name,age){

varo=newObject()

o.name=name

o.age=age

o.sayName=function(){

alert(this.name)

}

returno

}

varcat=createAnimal("cat",12)

vardog=createAnimal("dog",3)

工厂模式虽然解决了创建多个相似兑现过的问题,但是却没有解决对象识别的问题。

二.构造函数模式

构造函数模式可以创建特定类型的对象。

functionAnimal(name,age){

this.name=name

this.age=age

this.sayName=function(){

alert(this.name)

}

}

varcat=newAnimal("cat",12)

vardog=newAnimal("dog",3)

可以使用对象的constructor属性或instanceof操作符来标识对象类型。

cat.constructor==Animal//true

catinstanceofAnimal//true

三.原型模式

每个函数都有一个prototype(原型)属性。这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。

使用原型对象的好处是,可以让所有对象实例共享它所包含的属性和方法。

functionAnimal(){}

Animal.prototype.name="animal"

Animal.prototype.age=1

Animal.prototype.sayName=function(){

alert(this.name)

}

vartest1=newAnimal()

test1.sayName()//"animal"

vartest2=newAnimal()

test2.sayName()//"animal"

alert(test1.sayName===test2.sayName)//true

或者:

functionAnimal(){}

Animal.prototype={

constructor:Animal,

name:"animal",

age:1,

sayName:function(){

alert(this.name)

}

}

原型中所有属性是被很多实例共享的,通过在实例上添加一个同名属性,可以隐藏原型中的对应属性。但是,对于包含引用类型值的属性来说,问题就比较明显了。

Java中创建对象的四种方法 收藏Java中创建对象的四种方式\x0d\x0a1.用new语句创建对象,这是最常见的创建对象的方法。\x0d\x0a2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。\x0d\x0a3.调用对象的clone()方法。\x0d\x0a4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。\x0d\x0a第一种最常见