小编Gpa*_*par的帖子

在java中作为final的main方法

我在其中一个认证考试中看到了这段代码:

public class SimpleClass 
{
    int num;
    final static void main(final String args[])
    {
        String s1="new";
        String s2="String";
        String s3="Creation";
        System.out.println(s1+s2+s3);
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道最后的方法是无法覆盖的方法.我也知道如果方法的通常签名 main 被更改,它将被JVM视为任何其他普通方法,而不是main().

但是,给我的选项是:

1>  Code  won't  compile
2>  Code  will  throw  an  exception
3>  will  print  newStringCreation.
Run Code Online (Sandbox Code Playgroud)

在eclipse IDE上运行此程序是不可能的.任何人都可以解释应该是什么答案,为什么?

好的,让我提出这样的问题 - 当我执行我的程序时,会发生什么?我应该选择以上3个选项中的哪一个?

java program-entry-point

6
推荐指数
2
解决办法
1万
查看次数

字符串比较的相等

我有这个代码,

class  Test{

public static void main(String args[])
{
Boolean a;
Boolean b;
char [] c={'S','t','r','i','n','g'};

a=("String".replace('g','G')=="String".replace('g', 'G')); 
b=("String".replace('g','g')=="String".replace('g', 'g'));

System.out.println("---"+a);
System.out.println("---"+b);
System.out.println(c.toString()=="String");
}
Run Code Online (Sandbox Code Playgroud)

输出是---假 - 真假

我确实通过oracle访问了JLS文档.replace方法:返回一个新字符串,该字符串是用newChar替换此字符串中所有出现的oldChar.如果字符oldChar未出现在此String对象表示的字符序列中,则返回对此String对象的引用.否则,将创建一个新的String对象,该对象表示与此String对象表示的字符序列相同的字符序列,但每次出现的oldChar都会被newChar的出现替换.

当O/p为假时为什么O/p秒为真?

JLS文档说的是toString方法:这个对象(已经是一个字符串!)本身就返回了.那么为什么O/p第三是真的呢?

任何人都可以向我解释一下

在此先感谢GPAR

java string methods equals

1
推荐指数
1
解决办法
190
查看次数

默认构造函数是否负责将成员初始化为默认值?

默认构造函数将所有实例和类成员初始化为其默认值。

上面的说法是对还是错?

java constructor default-value default-constructor

1
推荐指数
1
解决办法
208
查看次数

= - java中的运算符

我有这个代码,

class  Test
{
  public static void main(String args[])
  {
    int a=--4-2*2/9-3;//Line  1
    System.out.println(a);
  }
}
Run Code Online (Sandbox Code Playgroud)

为什么编译时错误在--4?请不要建议我 - ( - 4).我只想弄清楚,为什么上面的代码是编译时错误,如果我将第1行的代码更改为,a = - -4-2*2/9-3,O/p为1.即 - (-4).有一秒钟,我想念它,它必须与 - =即a = a-(表达式的其余部分)相同.它也给出了与++运算符相同的错误!任何人都可以解释一下吗?

java operators

-6
推荐指数
1
解决办法
315
查看次数