我真的很困惑,而且我已经阅读了很多关于这个主题的问题,而且我无法明确指出一个接口可以做抽象类无法做到的事情.
接口可以做什么,抽象类不能做?
我问我的Java类的情况下,但它是否适用于其他语言随意删除Java标签(可能是C#?).
编辑:我知道抽象类可以做界面不能做的事情,但是如果抽象类可以完成界面可以做的所有事情,那么界面的重点是什么?"实现多个接口"是什么意思?
class Test{
public static void main (String [] args){
Test t1 = new Test();
Test t2 = new Test();
if(!t1.equals(t2))
System.out.println("they're not equal");
}
}
Run Code Online (Sandbox Code Playgroud)
它说会打印字符串......为什么它们不相等?它们是否需要与内存中完全相同的对象才能通过该调用?那么它必须与简单地比较所有对象属性值不同,因为我认为它们是相同的(除非有一些基于时间的属性?).有人在意吗?
我倾向于这样做,例如接受整数的方法:
DoSomethingWithThisInt((int)dbObj.nullableInteger);
Run Code Online (Sandbox Code Playgroud)
但是我通常也会确保这个代码永远不会发生,除非它有一个值,有时这意味着我必须首先检查null,这需要更多行代码.
有没有更好的方法,或者我只是通过简单的方式做到这一点?
我需要收集一些数据并暂时将其存储在内存中,然后将其写入文件.起初我以为我可以使用一个字典并使它全部工作,但是当我完成时,我意识到我需要第三个元素,所以我猜Dictionarys没用.
这三个元素就像字符串名称,bool问,今天的DateTime.
当函数启动时,我需要读取一个文件,其中每行存储一个元素,用管道分隔.当我浏览函数时,如果条件在foreach循环中的计算结果为false,则需要添加项目,如果条件为真,则需要删除.当函数完成后,我需要擦除文件,并将数组的内容转储回文件.
这个意思就像检查John Doe是否已经完成他的任务是否已经完成以及自上次被问及已经过去了XX天.如果XX天已过,请从阵列中删除他的记录,再次询问他,并在今天的日期添加新记录到阵列.(或者简单地说,在数组中更改日期并再次询问).然后将数组的内容转储到文件中,以便我们明天再次查看.
我之前从未使用过数组,所以我完全不知道如何做到这一点..当我搜索谷歌时,我发现了很多例子,但没有一个对我来说真的有意义.
你们有没有让我知道你将如何处理这个问题,因为我完全无能为力.
select to_date(checks.payment_dte, 'YYYYMMDD') as payment_date,
checks.run_number,
checks.check_nbr as check_number,
checks.check_amt as check_amount,
checks.payee_no as payee_number,
checks.loc as location,
checks.fac_state as facility_state,
checks.delta_usa_ind,
checks.payee_lnme as payee_last_name,
checks.payee_fnme as payee_first_name,
checks.payee_addr1 as payee_address1,
checks.payee_addr2 as payee_address2,
checks.payee_addr3 as payee_address3,
checks.payee_city,
checks.payee_st as payee_state,
to_char(checks.payee_zip, '00000') as payee_zip,
to_char(checks.payee_zip4, '0000') as payee_zip4,
checks.payee_country_cde as payee_country_code,
country.country_abbreviation as payee_country_code_description,
checks.maint_code as maintenance_code,
checks.mod_dte as mod_date,
checks.mod_op,
checks.payment_profile_id,
checks.bank_profile_id,
checks.parent_id
from (select c.*,
check_total
from db1.tbl_payment_checks c
join (select sum(net) as check_total,
check_nbr
from (select …
Run Code Online (Sandbox Code Playgroud) 假设我有一个这样的对象:
{ "foo" : true, "bar" : false, "gob" : true, "lob" : false }
Run Code Online (Sandbox Code Playgroud)
我想将它减少为具有相关真值的字符串键数组:
[ "foo", "gob" ]
Run Code Online (Sandbox Code Playgroud)
我怎么用下划线做这个?