如果有私有构造函数,JVM是否会插入对超级构造函数的调用?
我指的super()是私有构造函数中的调用.
class Alpha {
static String s="";
protected Alpha(){
s+="alpha";
}
}
class SubAlpha extends Alpha{
private SubAlpha(){
s+="sub";
}
}
class SubSubAlpha extends Alpha{
private SubSubAlpha(){
s+="subsubAlpha";
}
public static void main(String[] args){
new SubSubAlpha();
System.out.print(s);
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我没有得到任何编译错误.在SubSubAlpha类中有私有构造函数.该编译器是否插入super()调用,如果是这样,SubAlpha该类中会发生什么.即使有私人建设者.如果没有访问,继承树如何继续到顶部.
我正在尝试编写一个函数,将一个整数转换为这样的字符串,但我无法弄清楚逻辑...... :(
1 = a
5 = e
27 = aa
28 = ab
etc...
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?我真的很不高兴,我不知道如何写这个...... :(
有时,我想使用an ObjectOutputStream来写文件或通过网络发送一些小图像.但是BufferedImage许多其他类没有实现java.io.Serializable,然后Stream取消了写入.有没有办法避免这种情况?
谢谢,Martijn
我有一些String变量,它们从调用函数获取值,getParameter()而这些变量可能是一些null.
稍后,我将使用equals()方法评估此变量.如果要避免任何问题,我应该将所有String变量设置为空String("")null吗?
Java中有没有办法使用像(My)SQL这样的无符号数字?
例如:我想使用一个8位变量(byte),其范围如下:0... 256; 而不是-128... 127.
我正在努力学习如何用DarkGDK制作游戏.但我必须在Visual Studio中编写.我不喜欢Visual Studio.它的建议(Ctrl-Space完成)很糟糕(在我看来)并且编译器坏了(参见我之前的问题).
所以我想通过MSys和MinGW迁移到Netbeans.但是我无法在Netbeans中使用DarkGDK库.我添加了两个包含文件夹:
添加这个包含目录后,我可以#include <DarkGDK.h>.
但他表示警告:" There are unresolved includes inside <DarkGDK.h>"
当我尝试编译时: main.cpp:9:21: warning: DarkGDK.h: No such file or directory
在Visual Studio中是Include files和Library files.在Netbeans中,只有Include Directories当我进入工具 - >选项 - > C/C++ - >代码帮助时.
所以,我的问题是:"如何在Netbeans中添加库文件"?
或者任何人都做到了这一点并且知道如何做到这一点.
是否有更友好的方式来获取FontMetrics的实例
FontMetrics fm = Graphics.getFontMetrics(Font);
Run Code Online (Sandbox Code Playgroud)
我讨厌这种方式,因为下面的例子:
如果您想在游戏中创建一个菜单,并且您希望屏幕中心的所有菜单项都需要fontmetrics.但是,大多数情况下,菜单项是可点击的.所以我创建了一个数组,Rectangles并且所有矩形都适合于项目,因此当按下鼠标时,我可以简单地使用
for (int i = 0; i < rects.length; i++)
if (rects[i].contains(mouseX, mouseY)) { ... }
Run Code Online (Sandbox Code Playgroud)
但是为了创建rects,我还需要FontMetrics作为它们的坐标.所以这意味着我必须在菜单的paint-method中构造所有的矩形.
所以我想要一种获取FontMetrics的方法,这样我就可以在构造函数调用的方法中构造Rectangles.
我想写一个严肃的2D游戏,如果我有一个Linux版本和一个Windows版本(最终是OSX版本),那就太好了.Java非常棒,因为它与平台无关.但是Java写一个严肃的游戏太慢了.所以,我想用C++编写它.但是C++并不是非常友好的跨平台.我可以找到适用于Windows的游戏库和适用于Linux的库,但我正在通过在Windows平台和Linux平台上重新编译源代码来搜索我可以使用的游戏库.
是否有引擎或这个想法无关紧要?是不是很容易(重新编译)?
任何有关C++库的建议和信息都将非常感谢!
I want to compute the moment of inertia of a (2D) concave polygon. I found this on the internet. But I'm not very sure how to interpret the formula...
Formula http://img101.imageshack.us/img101/8141/92175941c14cadeeb956d8f.gif
1) Is this formula correct?
2) If so, is my convertion to C++ correct?
float sum (0);
for (int i = 0; i < N; i++) // N = number of vertices
{
int j = (i + 1) % N;
sum += (p[j].y - p[i].y) * (p[j].x + …Run Code Online (Sandbox Code Playgroud) 我即将开始编写一个演示程序来编写我即将给出的演讲.我想让班上的每个学生都下载这个应用程序,然后能够通过命令行以交互方式创建对象实例(及其图形表示).我决定用Java写的,而不是因为它是我最熟悉的语言,而是因为它有简单的图形类,我可以很肯定的罐子会在他们的计算机上运行.
简介.现在的问题是:
为此程序实现某些自定义命令行语法的好方法是什么?我想使用一个简单,随意的语法,如:
CREATE Monster Bob;
Bob.jump();
LS Bob //to list Bob's methods or something.
LS CREATE //to list all the classes
Run Code Online (Sandbox Code Playgroud)
首先,当我想到这个问题时,我会首先想到的是什么.
我可以想象我可以在树型链接中拥有一组地图.我可以解析每个关键词作为下一个地图的关键.因此,"CREATE Monster Bob"可以被评估为
1)搜索关键字"CREATE"的关键字映射.返回值,这是对类映射的引用.2)搜索类映射关键"怪物".返回值,这是一个实现一些接口Leaf的工厂类,它让我知道它是一个叶子值(我将使用instanceof进行检查).
3)也许Leaf接口将包含一个名为execute()的方法,它可以做任何想做的事情.在这种情况下,它将创建一个Monster对象,将此对象添加到名为Objects的名为Bob的地图中.(这个Leaf业务听起来很丑,但可以清理.)
凉.但这句话对我来说有点困难:Bob.jump();
1)搜索"Bob"的一些对象图.返回一些对象实现一个接口与等的方法"评价(字符串或多个)",并将它传递字符串"跳()"
2)鲍勃搜索的用于"跳()"方法的一些内部地图,然后...?在c ++中,我将使用键作为指向要执行的成员函数Monster.jump()的指针.但是我不相信java中没有函数指针这样的东西.我已经读过你可以使用匿名类来完成这个,虽然我没有尝试过.看起来它会起作用.
所以,这将有效,但有更优雅的方式去做吗?我以前从未写过任何类型的翻译.如果有人提供一些提示,我想以一种很好的方式做一些事情并在这个过程中学到一些东西.如果我不是很结构化的话,这似乎是一种可能容易出错的方法,特别是当Bob和其他所有对象开始解析他们自己的指令并使用匿名函数时.此外,看起来除了普通代码之外,每个类都需要一个运行时就绪的接口.
我也不知道Java的那么好,所以如果有一些景点在那里我可能会撞到南墙,然后我想太了解.
我在这里先向您的帮助表示感谢.