- 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础面试题
Java基础面试题:文中的部分例子和定义来自作者十星推荐,每个学java人都看过的《Thinking in Java》,推荐大家看英文原版,会很大程度加深对Java的理解。另外,问题提纲的总结来自作者最近研读的机械工业出版社的《Java程序员面试笔试宝典》。文章主干,分析解释部分全部由作者手打,标明网上资料忘记出处的,希望细心人指点。1.static的作用static,顾名思义,静态。当类中的成员变量或方法声明为static时,无需为此类创建参照,便可对其进行操作。即,不依赖该类的实例,同时也被该类的实例所共享。下面通过两种static的使用情况进行分析:static变量同为成员变量,与实例变量每创建一次便为其分配一次内存不同,JVM只为static变量分配一次内存,并在加载类的过程中完成该操作。可用类名直接访问此变量或通过实例调用,前者是被推荐的,因为这样不仅强调了该变量的static属性,而且也在某种程度上使编译器更容易去进行优化。所以在对象之间有共享值或为了方便访问某种变量时一般需要使用static变量。static方法对于static方法,也同时可以通过类名调用或实例调用。因此需要注意的是,static方法中不能用this或super关键字,不能直接访问此方法所在类的实例变量或实例方法,只能访问该类的静态成员变量和方法。因为实例变量和方法有特定的对象,而静态方法占据一个特定的数据区域。举例:Class StaticTest{ static int i = 47; int j = 10;}Class Incrementable{ static void increment(){ //通过类名直接对i进行操作 StaticTest.i++; //此处无法对j进行访问,因为其为实例变量 }}1234567891011122.final的作用final,在Java中通常解释为不可变的,也就是说,final关键字是用来防止变化。一般我们在两种情况下使用:设计(design)或效率(efficiency)。下面分情况来分析final关键字的作用:final数据——声明类中属性或变量每种编程语言都有一种声明常量的方法,java中便是final。基本类型(Primitive Type)和引用类型(Object Reference Type)的属性在声明final后,里面存放的值都不可再改变。但有所不同的是,在基本类型中,这个值是实在的,比如100,”java”;在引用类型中存放的是地址,所以final只是使其地址不可改变,这个地址所指的对象、数组皆是可以改变的。需要注意的是,static final的基本变量命名法,全大写字母,单词之间用”_”(underscore)连接。举例:public static final int VALUE_ONE = 9;1final方法使用final声明方法主要是为了给方法加锁以防止继承的类对其内容进行修改,也就是使其不可重写(override)。因此final方法可以被继承,但不能被重写。final类在前面加上final关键字的类是因为你不希望此类被继承,换句话说,在某种设计情况下你的类永远不需要去作出改变,或者为了安全原因你不希望它有子类。简单举例:class SmallBrain{}final class Dinosaur { int i = 7; int j = 1; SmallBrain x = new SmallBrain(); void f(){}}//class Further extends Dinosaur{}此句无法执行,因为Dinosaur类为finalpublic class Jurassic { Public static void main(String[] args) { Dinosaur n = new Dinosaur(); n.f(); n.i = 40; n.j++ }}1234567891011121314151617还有一个网上看到的例子,忘记出处了:final byte bt1 = 1;final byte bt2 = 2;byte bt3 = bt1 + bt2;123此例中若没有final便会报错,因为如果去掉final,bt1和bt2在运算时JVM将其自动转换为了int类型变量,最后相当于将一个int类型赋值给了一个byte类型。3.Overload与Override为了对比,我们先来看一下两者的英文定义:OverridingHaving two methods with the same arguments, but different implementations.OverloadingA feature that allows a class
您可能关注的文档
最近下载
- 2025年广西声乐艺考题目及答案.doc VIP
- T-ZJASE024-2024呼吸阀定期校验规则.pptx VIP
- State Grid Green Energy 全国公共机构节约能源资源综合信息平台(管理机构版) 用户手册.pdf
- 欠款车辆抵押协议书.docx VIP
- 一种PMI泡沫材料及其制备方法和应用.pdf VIP
- 2025年中小学教师职业心理健康测试题.docx VIP
- 半小时漫画中国史分享----好书推荐精品课件.pptx VIP
- T∕CAAMTB 28-2021 旅居车辆标志和安全要求.pdf
- T_CPQS A0053-2025 乘用车转向灵巧性测试方法.docx VIP
- 六年级有关解方程的应用题专项练习.docx VIP
原创力文档


文档评论(0)