java关闭编译报警
Java源码文件这些文件可以是任意字符编码的,在Java的Class文件里存储的字符串是UTF-8编码的,所以如果在代码中有中文字符的话,就会导致乱码。当然,这只是众多原因中的一种,所以把编码设置统一是避免出现乱码的解决办法。
工具:
eclipse
方法如下:
点击window--Preferences
选择General--WorkSpace,选择Default(GBK)即可
附:也可以选择Other,从Other中选择程序需要的编码格式。
2. JAVA程序 编译提示“未经检查或不安全操作”
这是个警告信息,不是编译错误,运行是没有问题的,只是jdk api的更新,你看的是老书吧,对于类似Vector ArrayList之类的集合而言,新的api要求指明其存储元素的类型,用Vector<Integer> vector=new Vector<Integer>()来代替你的Vector vector=new Vector(); 就可以了!
另外,javc ABC.java与你的类不对应,改用javac Pailie.java,这个楼上说的没有问题。
3. java annotation有什么作用
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
annotation一般作为一种辅助途径,应用在软件框架或工具中,在这些工具类中根据不同的 annontation注解信息采取不同的处理过程或改变相应程序元素(类、方法及成员变量等)的行为。
例如:Junit、Struts、Spring等流行工具框架中均广泛使用了annontion。使代码的灵活性大提高。
从java5版本开始,自带了三种标准annontation类型,
(1)、Override
java.lang.Override 是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。
这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时加一个保障性的校验过程。
(2)、Deprecated
Deprecated也是一种marker annotation。当一个类型或者类型成员使用@Deprecated修饰的话,编译器将不鼓励使用这个被标注的程序元素。所以使用这种修饰具有一定的 “延续性”:如果我们在代码中通过继承或者覆盖的方式使用了这个过时的类型或者成员,虽然继承或者覆盖后的类型或者成员并不是被声明为@Deprecated,但编译器仍然要报警。
注意:@Deprecated这个annotation类型和javadoc中的 @deprecated这个tag是有区别的:前者是java编译器识别的,而后者是被javadoc工具所识别用来生成文档(包含程序成员为什么已经过时、它应当如何被禁止或者替代的描述)。
(3)、SuppressWarnings
此注解能告诉Java编译器关闭对类、方法及成员变量的警告。
有时编译时会提出一些警告,对于这些警告有的隐藏着Bug,有的是无法避免的,对于某些不想看到的警告信息,可以通过这个注解来屏蔽。
SuppressWarning不是一个marker annotation。它有一个类型为String[]的成员,这个成员的值为被禁止的警告名。对于javac编译器来讲,被-Xlint选项有效的警告名也同样对@SuppressWarings有效,同时编译器忽略掉无法识别的警告名。
4. java 在黑色窗体中编译程序中如何忽略警告
黑色窗体是cmd吧,你编译时加一个选项即可 javac -nowarn。
5. JAVA运行文件时每次都会出现 编译出错的窗口
因为你使用的是工具,应该是你这个工具里面同时包含了多个不同的工程项目,这并不表示是你当前这个工程代码有错,而可能是其它工程存在问题。
请检查下你其它工程是否有错,如果其它工程暂时不用,可以将其从工程列表中先暂时关闭。
运行时,如果不需要再提醒,将上面的“始终运行而不询问”勾上即可。
6. JAVA程序可以编译 但是会有警告 为什么呢
告警是编译时检查发现不符合一些常用约定,但是不妨碍执行。
ThestaticfieldText3.ishouldbeaccessedinastaticway
以下是修改过的代码。
publicclassText3{
staticinti=47;//静态方法共用内存
publicvoidcall(){
System.out.println("调用call方法");
for(i=0;i<3;i++){
System.out.print(i+"");
if(i==2){
System.out.println();
}
}
}
publicstaticintgetI(){
returni;
}
publicstaticvoidsetI(inti){
Text3.i=i;
}
publicText3(){
}
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Text3t1=newText3();
Text3t2=newText3();
Text3.setI(60);//这里有警告
Text3.i++;
System.out.println("第一个实例对象调用变量i的结果为i="+Text3.getI());//这里有警告
t1.call();//调用call方法后,i的值变成了3
Text3.i++;
System.out.println("第二个实例对象调用变量i的结果为i="+Text3.getI());//这里有警告
t2.call();
}
}
7. 在java编译是出现这个警告怎么解决
这个是因为你这个类在序列化的时候需要有个默认的版本ID,就相当于唯一编号一样
8. 怎样抑制java编译的警告。
在类上加标记
@SuppressWarnings("all")
public void test01()throws Exception{
......
}
9. JAVA编译时提示出现非法字符
工具/材料:电脑、EditPlus软件
1、首先在EditPlus菜单栏找到:【工具】>【首选项】,点击后,打开首选项窗口。