- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java test
1. What is a market interface in Java. Quote a few examples
Answer:
2. Difference between Interface and Abstract Class
Answer:
(1). 从语法定义层面看
在 abstract class中,可以有自己的数据成员(属性),也可以有非abstarct的成员方法(方法),而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的abstract class。?
(2). 从编程的角度来看,abstract class和interface都可以用来实现design by contract的思想。
首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
其次,在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为, 抽象类中可以有方法的实现,但是接口中不能有方法的实现。
(3). 从设计理念层面看(本质的)
abstarct class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在is a关系,即父类和派生类在概念本质上应该是相同的。对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,仅仅是实现了 interface定义的契约而已。interface表示的是like a关系。
Reference: /blog/576869
3. Achieve multiple inheritance in java with an example
Answer:
4. Give the usages of final keyword in Java
Answer:
(1) final变量
变量声明为final,这个变量一旦被初始化便不可改变,对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一。
还有一种用法是定义方法中的参数为final,另外方法中的内部类在用到方法中的参数变量时,此参数变量也必须声明为final才可使用。
(2) final方法
方法声明为final,不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。 (3) final类 final类是无法被任何人继承的,对于final类中的变量,您可以定义其为final,也可以不是final。而对于方法,由于所属类为final的关系,自然也就成了final型的。
Reference: /service/faq/softfaq/jspcx/200612/1832.html
/s/blog_515015800100g97h.html
5. Explain transient variable in Java
Answer:
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。
public class LoginInfo? implements java.io.Serializable {
private String username;
private transient String password;
}
在串行化(IO流等)LoginInfo?类时 给它的username和password属性赋值,在提取LoginInfo?时,能取到username属性,但是却取不到password属性, 显示为“NOT SET”。
Reference: /blog/430390
6. Can a constructor be final ? How do you call a base class constructor from a derived class?
Answer:
构造器不是通过继承得到的,所以没有必要把它声明为final的。
通过super关键字实现
Reference: /blog/83028
7. Difference betwee
文档评论(0)