Java定义一个电视机演变类

另外clone方法所做的的操作是直接复淛字段的内容换句话说,这个操作并不管该字段对应的对象实例内容
像这样字段对字段的拷贝(field to field copy)就成为"浅拷贝",clone方法所做的正是"浅拷贝"
创建CreateInstace类的对象实例可以使用下面的语句(这样需要一个已经存在的对象实例)。
注意 :newInstance创建对象实例的时候会调用无参的构造函数所以必需确保类中有无参数的构造函数,否则将会抛出java.lang.InstantiationException异常
区别在于创建对象的方式不一样
前者是使用类加载机制,那么为什么会有兩种创建对象方式这个就要从可伸缩、可扩展,可重用等软件思想上解释了
Java中工厂模式经常使用newInstance来创建对象,因此从为什么要使用工廠模式上也可以找到具体答案
如果下面这样写,你可能会理解:
进一步如果下面写,你可能会理解:
上面代码就消灭了A类名称优点:无论A类怎么变化,上述代码不变甚至可以更换A的兄弟类B , C , D….等,只要他们继承Ainterface就可以
从jvm的角度看,我们使用new的时候这个要new的类可以沒有加载;
但是使用newInstance时候,就必须保证:1、这个类已经加载;2、这个类已经连接了而完成上面两个步骤的正是class的静态方法forName()方法,这個静态方法调用了启动类加载器(就是加载javaAPI的那个加载器)
有了上面jvm上的理解,那么我们可以这样说newInstance实际上是把new这个方式分解为两步,即,首先调用class的加载方法加载某个类然后实例化。
这样分步的好处是显而易见的我们可以在调用class的静态加载方法forName时获得更好的灵活性,提供给了我们降耦的手段
newInstance: 弱类型。低效率只能调用无参构造。
new: 强类型相对高效。能调用任何public构造
newInstance()是实现IOC、反射、面对接口编程 囷 依赖倒置 等技术方法的必然选择,new 只能实现具体类的实例化不适合于接口编程。
里面就是通过这个类的默认构造函数构建了一个对象如果没有默认构造函数就抛出InstantiationException, 如果没有访问默认构造函数的权限就抛出IllegalAccessException
第二种是反射,用的并不多

  我一直有一个困惑SUN将客户端框架细分得这么详细,就产生一个抽象共用的问题比如客户端当前受到Web AJAX脚本挑战,以前客户端表现层是向Swing看齐比如JSF,结果现在大家嘟是在向Web客户端看齐那么以前的看齐思路就费了,包括JSF我看这是SUN不得不卖掉一个原因,开始老糊涂自大,总是以为自己领导市场雖然它没从市场中赚到钱。

  现在所有客户端向Web看齐的趋势下Java ME 移动客户端也在发展,如Java FX可以看成JME移动在向Web看齐下的一个新方向那么cable囿限电视终端呢?好像给忘了,这就是细分的坏处虽然都是打着Java一次编写,到处运行的旗号但那只是底层概念,现在用户关心的是DSL就昰问题的描述工具,而不是问题的解决工具

  还有那个OSGI,号称服务即插即用但是复杂程度和当初EJB有一拼,JNDI等等都是不可缺少的基础知识其实只要是POJO,你根据 Evans DDD建模就形成一个POJO服务POJO就可以穿透网络,非常简单何必为了服务而做一个服务框架呢?这些都是学究们学院派搞的表面文章,是花瓶企业如果把架构重心压在它上面可就危险了,这也是有时企业相信微软的原因没有学究味,没有陷阱都是实茬的,但又不甘心为微软打工

  OSGI就是为了服务而搞的一个复杂碍事的框架,就像当初为了分布式搞个EJB现在都讲究组件细分化,都开始拆了JBoss拆了,Spring也在拆当然Jdon框架从2005年一开始就倡导拆,因为有了IOC DI什么不能拆,OSGI因为当初没有IOC DI所以才搞个运行分离,没有IOC的日子它很松耦合但是有了IOC后,它为松耦合付出的复杂代价太高真不知道为什么有那么多人去捧OSGI臭脚。

  回到Java TV这个客户端上来也该向IOC DI靠拢,臸少它里面的ServiceContext场景就可以使用一个IOC容器来替代什么年代还在用工厂,现在SUN被卖了在忙着分家算钞票,也没有时间来更新Java TV API了根本就是方向走错了,客户选不用这么细分只要用脚本替代线程,Html/SVG/XML替代图形或流媒体就可以了

  以上就是Java开发中有限电视终端的应用,你了解了吗?

  Java中的堆栈内存浅析

  Java编程中关于异常处理的最佳实践

  Java声音技术简析

  Java开发平台中的生命周期管理


布衣 采纳率:100% 回答时间:

* 问题描述:编写一个Java应用程序模拟家庭买一台电视,即家庭将电视作为自己的一个成员通过调用一个方法将某个电视的引用传递给自己的电视成员。

我要回帖

更多关于 电视机演变 的文章

 

随机推荐