Java
是Sun公司推出的一种新的编程语言。
这一新一代的程序设计语言在1995年
5
月推出后,
立即风行
Internet世界,成为一种
Internet上的世界语。
Java
是一种解释执行的语言,语法规则和
C++类似,能够用来开发在不同类型的计算机、电子设备和操作系统上运行的软件,时至今日,
Java
能轻易完成的"跨平台"对许多编程语言来说,依然难以做到,所谓的"一次编写,到处运行"就是对其技术特性最直接的描述。也即是说,
Java
可以在任何一种操作系统下工作,不管是Windows
9x、WindowsNT,还是SunSolaris、Linux、MacOS以及其他的平台,都可以使用相同的程序代码。用
Java
语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在
WWW页面中,并在
HTML
文档上作好相应标记,用户端只要装上
Java
的客户软件就可以在网上直接运行“Applet”。
Java
采用了一种高级多线程技术来实现并发及实时的响应,这是先进的多媒体应用所必需的。
Java
非常适合于企业网络和Internet环境,现在已成为Internet世界中最受欢迎、最有影响的编程语言。
Java
有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。
Java
摈弃了C++中各种弊大于利的功能和许多很少用到的功能。
Java
可以运行与任何微处理器,用
Java
开发的程序可以在网络上传输,并运行于任何客户机上。现状Sun获利未饱和,但Sun公司也不否认,目前从
Java
这一开放的技术平台上,Sun还没有获得太多的利润。例如国内众多手机制造商只推出了6款
Java
手机,应用
Java
的力度远远不够。
据了解,Sun与联通结盟后,TCL已成为新的Ja-va特许制造商,负责为这一联盟提供新的
Java
手机。
而北京振戎融通通信技术有限公司也表示,他们已与Sun达成意向,由振戎融通公司出资,为向中国联通CDMA1x网提供手机的国内厂商集中采购
Java
-JTW1许可证。
报告显示,未来市场上无线
Java
手机的数量预计每年将翻一番,到2006年将从2001年的1910万部增长到5.53亿部。到2006年,无线
Java
手机预计将占全球手机出货量的83%
这是一个Annotation
Annotation接口的实现类: Documented, Inherited, Retention, Target 都是用来定义自己定义的Annotation类的。
1. 注解(Annotation)类,以@interface 修饰 ,不能显示(explicit)extends或implements任何类
如:
java 代码
public @interface DefineAnnotation {
}
这种没有任何属性的Annotation类,也叫标识Annotation
2. 定义属性
java 代码
//属性必须加个小括号
public String value() ;
//有默认值的属性
public String value() default "aaa";
完整定义如下:
java 代码
//注解Annotation类不能显示(explicit)extends或implements任何类
//不定义任何属性就叫maket annotation
public @interface DefineAnnotation {
//定义一个属性,有属性的话,必须赋值,除非有默认default
public String value() default "aaa";
}
3.使用Annotation,有默认值的可以不用传参数,也可以传递参数。没有默认值的,必须传递参数。
如:
java 代码
public class TestAnnotation {
// @DefineAnnotation 有默认值的第一种使用方式
// @DefineAnnotation() 有默认值的第二种使用方式
@DefineAnnotation("ttitfly")
public void say(){
System.out.println("say hello");
}
public static void main(String[] args){
TestAnnotation ta = new TestAnnotation();
ta.say();
}
}
4. Retention (保存)
所有的Annotation类都实现了Annotation接口
@Retention本身就是个Annotation(注解)类
它的值是个enum枚举类型的RetentionPolicy,该枚举类型RetentionPolicy有三个值RUNTIME (会被JVM加载,并可以通过反射来获得到Annotation类的信息) ,CLASS (不会被JVM加载),Source
@Retention的值标识自己定义的Annotation(注解)类 是属于哪种保存策略,将来哪个类如果使用了这个自定义的注解类,将会使用这种保存策略
如:
java 代码
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//所有的Annotation类都实现了Annotation接口
//@Retention本身就是个Annotation(注解)类
//它的值是个enum枚举类型的RetentionPolicy,该枚举类型RetentionPolicy有三个值RUNTIME (会被JVM加载,并可以通过反射来获得到Annotation类的信息) ,CLASS (不会被JVM加载),Source
//@Retention的值标识自己定义的Annotation(注解)类 是属于哪种保存策略,将来哪个类如果使用了这个自定义的注解类,将会使用这种保存策略
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String hello() default "ttitfly";
String world();
}
java 代码
//使用自己定义的Annotation类
public class MyTest {
//一个方法可以有多个注解类
@Deprecated
@MyAnnotation(hello="china",world="earth")
public void say(){
System.out.println("say hello");
}
}
java 代码
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
现在java的strtus分为两个版本,而现在strtus应该是第二个版本strtus2,
java web中经典SSH框架中的一位!
他是MVC模式中的控制层(控制用户请求后展现的页面等),
struts2的核心就是action。易于维护,解耦,灵活性更好。
所以他在java web上的地位是很不一般的!
比如
@Deprecated
public void gg(){
return;
}
public static void main(String[] args) {
Gson s=new Gson();
s.gg();
}
你会看到当调用s.gg();时会多一下“—”表时过时、已弃的方法 @Override
易语言应该见过@Override 吧
@是JAVA注解的标记。
GUI 是图形用户界面
JAVA中的编写图形界面的是
java.awt和javax.swing两个包
JAVA有很多GUI产品,eclipse就是