作为一名Java开发人员,当我有一天意外地使用new关键字而不是覆盖时,我对结果感到有些惊讶.
似乎new关键字在继承树中删除了该级别的方法的"虚拟性",因此在子类的实例上调用一个方法,该方法被下载到父类,将不会解析为该方法的实现.儿童班.
这种行为有哪些实际用例?
澄清:我理解父母不是虚拟的时候使用new.我更好奇为什么编译器允许组合新的和虚拟的.
以下示例说明了不同之处:
using System;
public class FooBar
{
public virtual void AAA()
{
Console.WriteLine("FooBar:AAA");
}
public virtual void CCC()
{
Console.WriteLine("FooBar:CCC");
}
}
public class Bar : FooBar
{
public new void AAA()
{
Console.WriteLine("Bar:AAA");
}
public override void CCC()
{
Console.WriteLine("Bar:CCC");
}
}
public class TestClass
{
public static void Main()
{
FooBar a = new Bar();
Bar b = new Bar();
Console.WriteLine("Calling FooBar:AAA");
a.AAA();
Console.WriteLine("Calling FooBar:CCC");
a.CCC();
Console.WriteLine("Calling Bar:AAA"); …Run Code Online (Sandbox Code Playgroud) 我有以下内容:
window.setTimeout(function() {
window.location.href = 'file.php';
}, 115000);
Run Code Online (Sandbox Code Playgroud)
如何通过.click功能在倒计时中途重置计数器?
尽管“BLAH”没有出现在匹配的字符串中,是否有可能有一个命名的捕获组总是具有“BLAH”的值?
实际上,我正在寻找类似于以下伪正则表达式的内容(注意假的 source=BLAH 语法):
^(?<source=BLAH>)$
Run Code Online (Sandbox Code Playgroud) 在html中,如果我用这样的列创建一个html表
<table>
<tr>
<td>This is your ID</td>
<td>021-000-00001</td>
<td>...</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
空格和 - 在渲染时会产生多行.所以对于空间来说,解决方案是:
<td>This is your ID</td>
Run Code Online (Sandbox Code Playgroud)
但对于破折号 - 甚至我将其替换为 - ,就像
<td>021—000—00001</td>
Run Code Online (Sandbox Code Playgroud)
它仍然显示为多行.
怎么解决?
此问题更多用于开发目的,绝不会用于运送应用.我需要做一个快速而又脏的UILabel,其文本字段我可以指向一个非常非常长的字符串.真的很长 我非常喜欢IB,无法弄清楚正确的魔术握手,让UILabel气球到一个非常大的尺寸.有没有人有任何想法?
干杯,道格
Java 和 DB for DateTime 哪个最有利?(使用 JodaTime 作为日期)
(DateTime 对象 (Java) + TIMESTAMP (DB) ) VS (毫秒长 (Java) + BIGINT(DB)
用于在底层数据库支持的 Java Web 应用程序中使用日期时间信息
兴趣范围
例如,假设我有一个带有开始和结束日期时间的事件。在数据库中使用 BIGINT 搜索日期事件是否比 TIMESTAMPS 更快
当可扩展性和检索问题出现时,我可能会交换底层数据库。
将日期时间保存为 MySQL 数据库中的时间戳会在移植到其他数据库(如 Oracle)时导致问题吗?
我目前在java中使用Joda DateTime,然后存储该值的毫秒数。
检索它时,我将毫秒转换回 DateTime 对象并显示它。
我正在使用ASP.NET MVC设计一个网站,对于存储库的确切性质可能有点困惑.
在NerdDinner示例之后,我的站点应该有一个存储库,根据需要提供实体.但是,我也听说你应该有不同的存储库来处理特定的相关实体集....
在我的网站的情况下,将有许多实体(大约15个表)但大多数都是相关的.有一个存储库包含拉动/更新/删除等所需的所有方法,或者我应该将它们拆分,这是否可取/可取?
在PHP中,(与我原先的想法不同),调用静态方法与简单函数的开销很大.
在一个非常简单的工作台上,开销超过调用时间的30%(该方法只返回参数):
// bench static method
$starttime = microtime(true);
for ($i = 0; $i< 10*1000*1000; $i++)
SomeClass::doTest($i);
echo "Static Time: " , (microtime(true)-$starttime) , " ms\n";
// bench object method
$starttime = microtime(true);
for ($i = 0; $i< 10*1000*1000; $i++)
$someObj->doTest($i);
echo "Object Time: " , (microtime(true)-$starttime) , " ms\n";
// bench function
$starttime = microtime(true);
for ($i = 0; $i< 10*1000*1000; $i++)
something_doTest($i);
echo "Function Time: " , (microtime(true)-$starttime) , " ms\n";
Run Code Online (Sandbox Code Playgroud)
输出:
Static Time: 0.640204906464 ms
Object Time: …Run Code Online (Sandbox Code Playgroud) 我需要从客户端工作站中删除系统变量.我有500多个客户端,所以我想向用户提供批处理文件来运行自己删除系统变量.
如何从URL中删除文件夹?我在一个文件夹中安装了Drupal,我想从URL中删除该子文件夹.
所以代替:
www.example.com/subfolder/*
Run Code Online (Sandbox Code Playgroud)
我希望网址是:
www.example.com/*
Run Code Online (Sandbox Code Playgroud)
谢谢
c# ×2
.htaccess ×1
.net ×1
apache ×1
asp.net-mvc ×1
batch-file ×1
cocoa-touch ×1
database ×1
datetime ×1
drupal ×1
html ×1
iphone ×1
java ×1
javascript ×1
jodatime ×1
jquery ×1
mod-rewrite ×1
nerddinner ×1
oop ×1
performance ×1
php ×1
regex ×1
repository ×1
uilabel ×1
windows ×1