gpt4 book ai didi

java - 当java中有两个同名的类时会发生什么?

转载 作者:行者123 更新时间:2023-12-01 22:31:02 25 4
gpt4 key购买 nike

我在同一目录中有以下文件。

这是我的代码

男孩.java

import java.io.*;

public class boys
{
String name;
int age;

boys()
{
this.name="empty";
this.age=0;
}

void display()
{
System.out.println("Name =" + name + "\nAge ="+ age );
}

}

女孩.java

import java.io.*;

class girls
{
String name;
int age;

girls(String name,int age)
{
this.name=name;
this.age=age;
}

void display()
{
System.out.println("Name="+name+"Age="+age);
}
}

group.java`

    import java.io.*;


class boys
{
int rollno;

boys()
{
rollno=100;
System.out.printf("%d",rollno);
}
}

public class group
{
public static void main(String args[])
{
boys b = new boys();

girls g = new girls("sri divya",21);

g.display();
}
}

这是使用 javac 命令后我的问题我只有一个 boy.class 文件,为什么?和

在命令“java group”之后,我显示了文件 group.java 中的男孩类的结果,而不是文件 Boys.java 中的男孩类的结果,为什么?

如果我想要在boys.java中输出男孩类,尽管group.java中有男孩类,我该怎么办?

为什么有两个相同的类名却没有错误?

请有人帮助我

最佳答案

And here are my question after using the javac command I have only one boys.class file why?

给定包中只能有一个名为 boys 的类,因此编译器只会生成一个。

after the command 'java group' shows me the result of the boys class inside the file group.java and not the boys class inside the file boys.java why?

当编译器解析你的group.java文件时,他找到了两个类,然后编译它们。

what should I do if I want output of boys class inside boys.java inspite of having boys class in group.java?

group.java中删除boys的定义。

why there is no error inspite of having two same class names?

当您编译group.java时,编译器会在其中找到boys类,因此不需要在外部查找其定义。

在同一个包的不同位置定义一个类是没有意义的。选择。

<小时/>

现在,如果您确实想用 boys.java 文件生成的类替换 boys 类,您可以:

  • 编译group.java(这将生成group.class和来自其中的boys.class)
  • 编译boys.java(这将覆盖旧的boys.classboys.java 之一)

它会起作用,但我绝对不会使用这样的结构。

关于java - 当java中有两个同名的类时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com