关于日本superjava的信息
超图的发展历程
14年前,不足10人的超图在中科院北郊管理处的学生宿舍里开张,而今已经有1000多人的队伍,在北京、东京、香港、杭州、成都、西安等设立了分支机构,超图的核心产品——SuperMap GIS 不仅在中国被广泛应用,还成功登陆日本、韩国、东南亚、欧洲、北美和中亚国家和地区,正在形成国际化的SuperMap品牌。“美国在70、80年代有100多个GIS产品,现在大的品牌就剩下几个,80年代后期进入中国的有20多家。所以我们讲技术要转化为产品,产品要进入市场,一定要是规模化的市场。而现在国内的很多科研成果还没有产品化,或者产品程度很低,”经历了十多年GIS的发展历程,钟耳顺看尽业态炎凉。
说到产业发展中“人”的因素,钟耳顺认为,搞技术的人应该深入到企业中去,和产品一起成长、承担风险,而不是将技术放手给一个企业后,再去申请新的项目经费。“我们国家的体制可能有束缚,但最重要的还是人的因素。现在政策还是比较开放的。体制的灵活性比较大。做科学技术的人,必须要做到底,真正做到企业里去。周光召说过,最好的模式是做技术的要深入到企业里面去。美国、以色列都是这样。美国有个做图像压缩的技术出自美国的国防研究室,到1998年这个技术演化到产品,交给研究室一定的版权费后,人员就出来搞企业了。”据说,超图公司里不少员工是钟耳顺带出来的研究生。 在一个产业刚刚提升的时候,会出现很多新模式,GIS产业作为许许多多应用的基础,也成为一个产业创意的平台。“这个产业在中国还是世界上都还是处于上升发展的阶段,地理信息技术可以发展的东西很多,如手机、网络方面的,还可以做二维、三维的,或者你可以做一个行业,比如有的公司单做水利行业。把GIS跟其他技术管理结合起来,创造一个模式,可以在全国推广,解决就业和管理的问题。GIS 是一个综合的集成的技术,是可以创意的。”
例如,日本一家公司有一个全国1比两万比例的数据库,同时还有一个地价的数据库,把这两个数据库连起来,就可以知道这两年地价的变化,这就是一种创意。
超图大力协助行业开发商,支持超过 400 家合作伙伴开发行业应用系统,既发展了技术,也拓展了市场。如北京凯普奇公司基于 SuperMap 开发有线电视设施管理系统,占领市场份额半壁江山;配合南京中兴软创拓展电信网络资源管理市场;帮助广州蓝图发展城市规划和自来水设施管理市场等等。
“产业链上的每一个端点,都有它的特点,每个环节都有自己的特色和发展创新的地方。如我们的平台软件,必须符合当前信息技术发展的趋势,联系越紧密越好,同时地理信息技术本身的特点数据量大,随便一个图就是几个G,还有比例尺的问题,不同的数据格式要整合,你要处理这样的数据要很快,搞技术的必须和用户关系非常密切,考察产品的可用性,如何开发的快,怎样符合用户的流程,以及数据的更新。” 钟耳顺说。
当一个产业被看好,就有企业什么都想做。这时,专注的态度和明确的战略定位对企业的发展十分重要。
SuperMap 软件产品的开发始于1996年,比最早从事 GIS 软件开发的国内同行晚起步10 年。在当时,一些国产 GIS 软件产品已经比较成熟,并形成了一定的品牌优势。国际同行起步更早,并且垄断着当时的中国 GIS 软件市场。该从何处入手,是摆在超图面前的重要课题。如果超图也按照这样的思路开发 GIS 软件,几乎没有任何出路。后来超图发现不管是面向管理的政府和企业应用系统,还是面向公众信息服务的产品,都需要 GIS 软件技术与其他信息技术的无缝集成,因此需要一种独立于桌面平台之外的开发平台。只有基于这样的独立开发平台,行业应用开发商才能够为政府、企业和个人开发更符合应用需求的系统和产品。定位于做 GIS 平台软件需要耐得住寂寞。在刚开始,平台软件尚处于研发阶段,要维持对核心技术研发的持续投入,发展非常艰难。据说,在IT界的冬天,钟耳顺也曾为公司急速增长的员工发不出工资在一夜间急白了头发,最后终于把队伍都保住了,没有流失一个人。超图有100人的研发队伍,其30% 的销售收入投入到研发中,做平台软件的定位不仅避开同时期与优秀的应用软件的竞争,还确立了在产业链中的无可替代的位置,做GIS平台软件的厂商不是很多。整个盘子不过几亿元,但是超图的产品作为亚太地区 GIS 旗舰品牌在业内的号召力很强,能带动二十多家企业。“我们希望以后能把品牌做起来,可以在业界说几句话。”钟耳顺说到未来的发展仍然不改学院派的谨慎。
“如果跟着别人的老路走,肯定做不过人家,不管从超图微观的角度来讲,还是从国家的角度来讲,都必须有自己的特点。比如网络地理信息系统,这种技术我们早就有,由于早就瞄准了网络,所以现在我们所有的产品都是可以网络化的。” 目前国内的产品都是基于国外的操作系统来做,因此总体上还是跟着国外走。但是企业的整个体系结构必须要新,才可能更具竞争力。
“由于IT是变化的,所以大家才都有机会。”钟耳顺时常感慨这一句。
时刻紧跟业界最新的技术趋势,超图在技术上形成了自己的体系, 产品也不断的推出新的版本。2005年年底,超图率先发布了基于.NET 技术的大型全组件式 GIS 平台,以及基于 Java 技术的大型全组件式 GIS 平台——Super-Map Objects Java,为行业开发商提供了基于最新技术的组件式 GIS 开发平台。电子政府系统的国产化要求,又让中科红旗、人大金仓和超图三家公司得以在一起合作,超图又要推出基于Linux系统的产品。 超图在2000年10月才首次公开发布产品,但于当年的7月份就在东京成立了合资公司——日本超图株式会社。“日本的市场非常好,我们日本公司的社长,每20分钟就要接待一批客人。我们的产品出去不单是一个GIS软件的问题,是整个软件业的问题。”在随后的几年内,SuperMap 在日本建立了大量的成功应用案例,并得到用户广泛认同。在日本已有超过十个的世界五百强企业采用超图的 SuperMap 为企业和政府开发 GIS 应用系统。在政府部门中,几乎所有需要 GIS 的部委,如国土交通省、总务省、环境省、农林水产省和经济产业省等都在使用 SuperMap。
“日本客户对产品要求的苛刻甚至是死板,使我们的产品有了很大的提升。”钟耳顺说,日本用户向来以严谨著称,对产品功能和品质的要求非常苛刻。在日本的应用推广,对SuperMap产品品质而言,既是考验,也是促进,同时给超图在其他国家和地区加速国际化进程带来了更多的信心。
在国际市场上,各国市场情况不一,如美国和加拿大比较开放,英国则比较保守,在一定程度上制约了市场的发展。但这并不妨碍一些欧美客户的合作热情,不时有国外项目的橄榄枝抛来。 “我们不能操之过急,否则发展不协调就会折断。所以我们在香港先安插了两个半人。”所谓的半个人,就是秘书是跟别的公司合用的。超图在香港成立了超图国际有限公司,以香港作为基地,开拓东南亚、南亚等地的国际市场。日本只是第一站,超图的国际化还有很长的路要走。
超图着手建立全国的销售渠道和服务网络,意在希望日后能够从服务里赚钱,并使自己的SuperMap品牌得到提升。Bentley 公司一直想收购超图但未果,有人说其实能融些银子也不错,对此钟耳顺说:重要的是要保住这个品牌。

java 中super 的用法及意义
java中的super指的就是父类(super class)\x0d\x0a例:B继承A\x0d\x0aA类\x0d\x0aclass A {\x0d\x0a private String astr;\x0d\x0a private String bstr;\x0d\x0a public A(string astr, string bstr) {\x0d\x0a this.astr = astr; //this指的是本类,在这里就是A\x0d\x0a this.bstr = bstr;\x0d\x0a }\x0d\x0a \x0d\x0apublic String getAstr() {\x0d\x0a return this.astr;\x0d\x0a}\x0d\x0a\x0d\x0apublic String getBstr() {\x0d\x0a return this.bstr;\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0aB类\x0d\x0aclass B extends A {\x0d\x0a private String aa;\x0d\x0a private String bb;\x0d\x0a \x0d\x0a public B(String aa, String bb) {\x0d\x0a super(aa, bb); //这里就调用了父类的构造方法,给父类的super.astr,super.bstr(super.astr也就是父类的astr变量,super.bstr同理)两个变量赋值了,而不是给this.aa,this.bb(this.aa可以理解为本类的aa变量,this.bb同理)赋值\x0d\x0a // this.aa = aa; \x0d\x0a // this.bb = bb;\x0d\x0a } \x0d\x0a \x0d\x0apuplic String getAA() {\x0d\x0a return this.aa;\x0d\x0a}\x0d\x0a\x0d\x0apublic String getBB() {\x0d\x0a return this.bb;\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a测试类\x0d\x0apublic class Test {\x0d\x0a public static void main(String[] args) {\x0d\x0a B b = new B("aabb", "ccdd"); // 调用B的构造方法,给super.astr,super.bstr赋值了\x0d\x0a System.out.println(b.getAa()); // null 没有被赋值\x0d\x0a System.out.println(b.getBb()); // null\x0d\x0a System.out.println(b.getAstr()); // aabb 调用父类的方法,返回super.astr的值\x0d\x0a System.out.println(b.getAstr()); // ccdd 调用父类的方法,返回super.bstr的值\x0d\x0a }\x0d\x0a}
Java中super是什么意思?
super在java的子类中指代父类引用
java中,super的几种用法:
1、子类的构造函数如果要引用super的话,必须把super放在函数的首位
class?Base?{
????Base()?{
????????System.out.println("Base");
????}
}
public?class?Checket?extends?Base?{
????Checket()?{
????????super();//调用父类的构造方法,一定要放在方法的首个语句
????????System.out.println("Checket");
????}
?
????public?static?void?main(String?argv[])?{
????????Checket?c?=?new?Checket();
????}
}
如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的修改就都回到以前了,就是说又成了父类的构造方法了。
2、在Java中,有时还会遇到子类中的成员变量或方法与超类(有时也称父类)中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了超类的成员变量或方法,但是我们如果想要使用超类中的这个成员变量或方法,就需要用到super.
class?Country?{
????String?name;
?
????void?value()?{
????????name?=?"China";
????}
}
?
class?City?extends?Country?{
????String?name;
?
????void?value()?{
????????name?=?"Hefei";
????????super.value();//不调用此方法时,super.name返回的是父类的成员变量的值null
????????System.out.println(name);
????????System.out.println(super.name);
????}
?
????public?static?void?main(String[]?args)?{
????????City?c=new?City();
????????c.value();
????}
}
为了在子类中引用父类中的成员变量name和方法value(),在代码中使用了super、super.name和super.value(),若不调用super.value()时,super.name返回父类成员变量默认值null,调用此方法时,super.value()方法把成员变量name赋值为China,再利用super.name调用父类的成员变量的值。
另外,要注意的是super.name调用的是成员变量的
class?Country?{
????String?name="xianfan";
?
????String?value(String?name)?{
????????name?=?"China";
????????return?name;
????}
}
?
class?City?extends?Country?{
????String?name;
?
????String?value(String?name)?{
????????name?=?"Hefei";
????????super.value("失败");//不调用此方法时,super.name返回的是父类的成员变量的值null
????????System.out.println(name);
????????System.out.println(super.name);
????????return?name;
????}
?
????public?static?void?main(String[]?args)?{
????????City?c=new?City();
????????c.value("成功");
????}
}
结果为:Hefei
xianfan
此时,super.name返回的值是父类成员变量的值xianfan,而此时的super.value()方法是不起作用的。
3、用super直接传递参数:
class?Person?{
????public?static?void?prt(String?s)?{
????????System.out.println(s);
????}
?
????Person()?{
????????prt("A?Person.");
????}
?
????Person(String?name)?{
????????prt("A?person?name?is:"?+?name);
????}
}
?
public?class?Chinese?extends?Person?{
????Chinese()?{
????????super();?//?调用父类构造函数(1)
????????prt("A?chinese.");//?(4)
????}
?
????Chinese(String?name)?{
????????super(name);//?调用父类具有相同形参的构造函数(2)
????????prt("his?name?is:"?+?name);
????}
?
????Chinese(String?name,?int?age)?{
????????this(name);//?调用当前具有相同形参的构造函数(3)
????????prt("his?age?is:"?+?age);
????}
?
????public?static?void?main(String[]?args)?{
????????Chinese?cn?=?new?Chinese();
????????cn?=?new?Chinese("kevin");
????????cn?=?new?Chinese("kevin",?22);
????}
}
结果为:A Person.
A chinese.
A person name is:kevin
his name is:kevin
A person name is:kevin
his name is:kevin
his age is:22
在这段程序中,this和super不再是像以前那样用“.”连接一个方法或成员,而是直接在其后跟上适当的参数,因此它的意义也就有了变化。super后加参数的是用来调用父类中具有相同形式的构造函数,如1和2处。this后加参数则调用的是当前具有相同参数的构造函数,如3处。当然,在Chinese的各个重载构造函数中,this和super在一般方法中的各种用法也仍可使用,比如4处,你可以将它替换为“this.prt”(因为它继承了父类中的那个方法)或者是“super.prt”(因为它是父类中的方法且可被子类访问),它照样可以正确运行。
java中的super()是什么
要说super就先要说this。
"this",作为一个特殊的关键字,它的规则如下:
1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数,等等等等。只要一个C类型的final变量可以出现的地方,它就可以出现。
"super"。它和"this"类似,但是也有不同的地方。
1。表示调用父类的构造函数。也是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用。比如super.method()。
但是,注意,这个super.method()只是长得跟some_var.method()一样,一个语法糖而已。实质上,"super"根本不是一个变量。
为什么不是?因为如果是就坏了。java里面有一个金科玉律:任何public非static函数的调用都是多态的。
所以,如果super是个变量,也指向当前对象,那么,不管super的静态类型是什么super.method()必然调用的是子类的那个版本,而不会是我们期望的,静态地选择父类的那个版本。
所以,你只要把super.xxx看成一个特殊的语法,比如理解为“super::xxx”就好了。
既然super不是一个变量,那么不能把它象一个普通变量那样"==",或者传递给某个函数就看起来很正常了,是么?何况,你其实也用不着它,有this你这些要求就都可以办到了。
3。super的另外一个作用是调用父类的protected函数。只有通过"super"这个魔咒,我们才能操作父类的protected成员,别无它法。