课后实验性问题

Posted 什么名都不好

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课后实验性问题相关的知识,希望对你有一定的参考价值。

一、一个java类文件中只能有一个公有类吗?

测试代码

public class Test{
    public static void main(String[] args){
    }
    public class InnerClass{
    }
}

结果:可以有

二、把main方法的返回值由void改为int 编译能通过吗?能运行吗?

public class Test{
    public static int main(String[] args){
    }
}

结果:不能

三、为什么java规定作为程序入口点的main方法静态的?

  • 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
  • 因为C和C++同样有类似的main方法作为程序执行的入口。
  • 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
  • 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。

四、变量作用域; 同名变量屏蔽原则

测试代码:

public class Test{
    private static int value = 1;
public static void main(String[] args){    int value = 2; Sydtem.out.println(value); } }

结果:

五、为什么double类型的数值进行运算得不到“数学上精确”的结果?

double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。

以上是关于课后实验性问题的主要内容,如果未能解决你的问题,请参考以下文章

整理课程中所有的动手动脑问题以及课后实验性问题

所有动手动脑的问题以及课后实验性的问题

动手动脑的问题以及课后实验性的问题

动手动脑的问题以及课后实验性的问题2

JAVA语法基础作业——动手动脑以及课后实验性问题

课后作业02-2-课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档。