首页 > 试题广场 >

一个以“.java”为后缀的源文件

[单选题]
一个以“.java”为后缀的源文件
  • 只能包含一个public类,类名必须与文件名相同
  • 只能包含与文件名相同的public类以及其中的内部类
  • 只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
  • 可以包含任意public类
推荐
C
    .java文件可以包含多个类,唯一的限制就是:一个文件中只能有一个public类, 并且此public类必须与文件名相同。而且这些类和写在多个文件中没有区别。
    
编辑于 2015-12-10 18:22:45 回复(2)
.java文件只能有一个public类,且名字必须和文件名相同,可以包含内部类,内部类名字无要求。
此题牵涉的另一题目是:类的名字总是要和.java文件名字相同,此说法明显错误,参考上面说的内部类。
发表于 2016-07-10 10:24:05 回复(0)
这题问的太不严谨,哪个都不对。
发表于 2015-10-07 19:35:56 回复(0)
public的内部类……

public class test {
    public class test1{}
}

发表于 2018-07-06 12:27:01 回复(0)
AB.
public class Test {  public class Test2 {}
}

发表于 2019-09-14 19:19:58 回复(0)
感觉A对,C选项如果非public类前面加上private或者protected,则编译不通过
发表于 2018-03-31 17:20:15 回复(0)
题目不严谨,应该选择D。一个.java文件中,可以包含多个类,但最多只能有一个public类,如果存在public类,那么这个类的类名必须和文件名相同,如果没有public类,那么文件中的类可以任意取名。
发表于 2017-03-04 13:11:47 回复(1)
public类只能有一个,且只能与文件名相同。
发表于 2016-06-08 14:24:56 回复(0)
可以有多个类,只有一个与文件名一致的类名,并且为public修饰符
发表于 2015-09-16 14:26:16 回复(0)
我选A错了,没有考虑内部类,内部类是可以public修饰的,所以不只有一个public类
发表于 2017-10-02 11:36:13 回复(1)
这题目严重有问题:
A“必须”说的太死了,肯定不对;
B“只能”说的太死了,肯定不对;
C对倒是对,但是必须这样说只能有一个与文件名相同的public修饰的类,...;
D可以包含任意类,貌似也没错呀,关键还是在于public修饰。
发表于 2015-12-10 17:00:43 回复(1)
1个.java源文件中可以包含多个类(非内部类),所以B错;但只能有一个public修饰的外部类,且此类名必须和文件名相同,所以D错;
每个外部类可以包含多个public修饰的内部类,所以A错。
发表于 2018-04-03 11:25:57 回复(0)
A.没考虑内部类,内部类也可以是public
public class test
{     public  class innterTest {}
}
B.这个看了几遍,没理解,猜大概与C对比,要么是一个的问题,要么是以及内部类的问题
C.不考虑内部类的情况下,如果public修饰的类,需要和文件名相同,可以包含其他非public类
D.任意public类,如果两个public class xxx即两个同名的public类,就不行
public class test
{
}
public class test
{
} 
编辑于 2019-05-12 22:52:24 回复(0)
关于A选项,忽略了内部类的情况。
    一个外部类中可以包含多个内部类,而这些内部类可以被public修饰
(tips:多个内部类通常会使得结构不清晰,一般为了耦合性一个外部类只会包含一个内部类)。

关于.java源文件中定义类,
    (不考虑内部类)一个源文件中只能有一个public类。一个源文件可以有多个非public类。
发表于 2019-03-18 11:36:12 回复(0)
C     .java文件可以包含多个类,唯一的限制就是:一个文件中只能有一个public类, 并且此public类必须与文件名相同。而且这些类和写在多个文件中没有区别。
发表于 2019-03-18 00:10:27 回复(0)
内部类可以public
发表于 2019-03-11 23:30:49 回复(0)
内部类可以是public
发表于 2019-02-03 20:06:09 回复(0)
只允许一个同名public类的原因:
可读性:类名与文件名相同,方便开发者理解程序作用
执行效率:类加载时,JVM从classpath开始根据包名寻找类的字节码。如果类名与文件名不同,则JVM需要遍历包下所有文件。

内部类可以是public,因为它与外部类相关联,不会出现上述问题。
发表于 2019-01-25 18:44:40 回复(0)
我怎么读了半天,A感觉那不对又说不出来,但是感觉又好像对的;
1.意思一,只能包含一个public类,而且这个类与文件名相同(感觉好像没有问题),看完评论知道内部类可以是Public修饰
2.意思二,只能保护一个类,而且这个类是public类,与文件名相同(这个是错的)
发表于 2018-09-18 10:20:57 回复(0)
这题质量太差
发表于 2018-06-14 14:45:15 回复(0)
A选项“只能有一个public类“如果是错的话,难道有两个 public类才是正确吗,两个意思能不能分成两句话
发表于 2018-05-21 12:59:54 回复(0)