我对一些文档使用的术语"包私有"以及"默认访问"的使用感到有些困惑.包私有和默认访问都不是protected的同义词吗?
我不完全理解在类的clone()方法中返回super.clone()的想法.首先,与它返回一个包含LESS数据而不是请求的超类的对象有关,因为超类"不是"子类,而是子类"是"超类.如果有一个长链子类,每个子类都调用super.clone(),为什么不会导致它最终在链的根处调用Object.clone(),这不是任何子类?
对不起,如果那令人困惑; 我有时会困惑自己
Java自动将字符串文字解释为String对象的机制是什么,因为没有重载运算符,并且没有对低级字符串缓冲区(不包括高级StringBuffer)的默认支持?这是语言或虚拟机上下文吗?
我知道这是毫无意义的:我发现它很有趣,我想更多地询问当你创建一个继承自身的类时会发生什么的机制,导致堆栈溢出崩溃.令人惊讶的是Java允许您开始构建这样的构造.
我只是在猜测,但JVM是否会将自己置于一个无限循环中,试图在实例化之前解决该类,或者它是否实际上无休止地实现了该类的多个副本?
我应该更具体; 我使用内部类来从封闭类派生.
public class Outside {
private int outsideValue;
public class Inside extends Outside {
private int insideValue;
public Inside(int val) {
insideValue = val;
}
}
public Outside() {
Inside o = new Inside(0);
}
}
public class Main {
public static void main(String args[]) {
Outside o = new Outside();
}
}
Run Code Online (Sandbox Code Playgroud) 我在这里的代码是初步的.我专注于剪辑程序.似乎有很多if()语句,我希望有人会有一个聪明的方法来优化这个至少一点点.
如果您想知道m_nStride是什么,那么它是添加到任何给定像素指针以到达其正下方像素(y + 1,x + 0)的元素数量.但不管怎样,这与我的问题无关.
一般的想法是使用坐标left,top,width和height填充图像的矩形区域(32-bpp).在坐标将导致该区域穿过图像边界的情况下,该区域将被剪裁以适合图像内部而不是被解释为错误.
void Image::Clear(int nLeft, int nTop, int nWidth, int nHeight, DWORD dwColor)
{
if(nWidth <= 0) return;
if(nHeight <= 0) return;
if(nLeft >= m_nWidth) return;
if(nTop >= m_nHeight) return;
if(nLeft < 0)
{
nWidth += nLeft;
if(nWidth <= 0)
return;
nLeft = 0;
}
if(nTop < 0)
{
nHeight += nTop;
if(nHeight <= 0)
return;
nTop = 0;
}
if(nLeft + nWidth > m_nWidth)
{
nWidth -= ((nLeft + nWidth) - m_nWidth);
if(nWidth <= …Run Code Online (Sandbox Code Playgroud) 我创建了一个查找表,允许您使用单字节alpha通道混合两个单字节通道(每通道256色),不使用浮点值(因此没有浮点到int转换).查找表中的每个索引对应于与alpha值相关的信道的256ths的值.
总而言之,为了完全计算3通道RGB混合,每个通道需要对阵列进行两次查找,再添加一个.这是总共6次查找和3次添加.在下面的示例中,我将颜色分成单独的值以便于演示.此示例显示如何通过范围从0到256的alpha值混合三个通道RG和B.
BYTE r1, r2, rDest;
BYTE g1, g2, gDest;
BYTE b1, b2, bDest;
BYTE av; // Alpha value
BYTE rem = 255 - av; // Remaining fraction
rDest = _lookup[r1][rem] + _lookup[r2][av];
gDest = _lookup[g1][rem] + _lookup[g2][av];
bDest = _lookup[b1][rem] + _lookup[b2][av];
Run Code Online (Sandbox Code Playgroud)
它很棒.精确,因为你可以使用256色通道.实际上,您可以使用实际的浮点计算得到相同的精确值.查找表是使用双打开始计算的.查找表太大,不适合这篇文章(65536字节).(如果你想要它的副本,请发送电子邮件至ten.turtle.toes@gmail.com,但不要期待明天的回复,因为我现在要睡觉了.)
所以你怎么看?它值得吗?
我今晚刚刚开始Java编程(虽然我是一个很长时间的C++编码器).
我正在尝试JOptionPane.showInputDialog()收集用户输入的功能.
但是,它会继续在IDE下面设置输入对话框的z顺序,而在开始菜单上没有通知对话框就在那里.
有没有办法设置选项让它出现在z顺序的顶部,或者甚至是系统模态?
另外,有没有办法限制可以输入到输入对话框文本框中的字符类型,例如仅限数字类型?
谢谢您的帮助
java ×5
c++ ×2
c ×1
clipping ×1
clone ×1
graphics ×1
image ×1
inheritance ×1
jvm ×1
oop ×1
optimization ×1
protected ×1
string ×1
swing ×1
terminology ×1