让我们假设我想在协调计划中定义一个圆。在C中,我可以做这样的事情:
struct point{
int x;
int y;
};
struct circle{
struct point center; //this line in particular I am not sure how to implement
int radius;
};
在java中,我正在尝试以下操作...
public class Point{
int x;
int y;
}
public class Circle{
Point center; //is this line correct? Or did I screw up?
int radius;
}
如果上面的行不正确,请您为我提供正确的代码好吗?
如前所述,比较编程语言可能是一种有问题的学习方式。在这种情况下,C和Java是两种不同的语言。Java是面向对象的,而c不是。
在Java中,您确实可以定义一个类,正如您为点定义的那样。但缺少一个带参数的构造函数。
public class Point{
int x;
int y;
public Point ( final int x , final int y ) {
this.x = x ;
this.y = y ;
}
}
实例化调用构造函数,传递参数。
Point p = new Point( 7 , 42 ) ;
如果类的主要目的是透明和不可变地通信数据,那么在Java 16中将类定义为记录。
public record Point ( int x , int y ) {}
编译器隐式创建构造函数、getter、等于
是的,您可以使用定义的类作为另一个类的成员字段的类型。
public record Circle ( Point center , int radius ) {}
实例化。
Circle c = new Circle( new Point ( 7 , 42 ) , 5 ) ;
转储到控制台。
System.out.println ( c ) ;
System.out.println ( c.point.y ) ;
我遇到了一些问题,AppEngine抱怨我的代码有Java1.8方法,而AppEngine需要Java1.7。下面是错误跟踪。我不知道该怎么修理它。
我对Hibernate(JPA)很陌生。 正如您所看到的,当Gradle升级到5.0时,这个变通方法将会失败。 所以,我想问你我应该如何用Hibernate和Gradle构建我的代码。 根据一些SO的QA,我试图添加以下依赖项,但它不起作用。 null 错误输出如下所示(位a很长,但我不确定要解决的重要线索在哪里):
问题内容: 我正在将Java库移植到C#。我使用的是Visual Studio 2008,因此没有停止使用的Microsoft Java语言转换助手程序(JLCA)。 我的方法是创建一个与Java库具有类似项目结构的新解决方案,然后将Java代码复制到ac#文件中,并将其逐行转换为有效的c#。考虑到我觉得Java易于阅读,两种语言之间的细微差别使我感到惊讶。 有些事情很容易移植(命名空间,继承等)
(我已经删除了上一个,所以我想你可以在编辑中找到它) 编辑 所以按照bad_coder在评论中告诉的以及他分享的链接中的大多数答案,我点击了“选项显示所有”,我得到了这个 1) 这里唯一有意义的是点击“”按钮,所以我点击了它 2) 现在我应该用路径替换突出显示的部分(换句话说,我在cmd中键入“where python”后得到的路径) 3) 这就是我发现的。那么我应该在突出显示的部分复制并粘贴哪一
问题内容: 这个问题在很多地方都被问到,变化不尽。例如Java-getClassLoader()。getResource()不仅使我烦恼不已。)我仍然无法使其正常工作。 这是一个代码片段: 此作品-请注意,我硬编码的路径,包含剪辑文件,该文件的目录 是 有,而且 是 在同一目录作为我的.class文件。las,注释掉的代码仅返回url的空值。 其他大多数帖子似乎都涉及getResourceAsSt
我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 输入三角形的三条边