失效链接处理 |
2020qjava面试题及(qing){案170?PDF 下蝲
本站整理下蝲Q?/strong>
链接Q?a target="_blank">https://pan.baidu.com/s/1ojm6DqyJ9afO0UTqTAlyFA
提取码:(x)3frj
相关截图Q?/strong>
![]()
主要内容Q?/strong>
1、面向对象的特征有哪些方面?
{:(x)面向对象的特征主要有以下几个斚wQ?/div>
- 抽象Q抽象是一cd象的共同特征ȝ出来构造类的过E,包括数据抽象和行为抽象两斚w。抽象只x(chng)对象有哪些属性和行ؓ(f)Qƈ不关注这些行为的l节是什么?/div>
- l承Q承是从已有类得到l承信息创徏新类的过E。提供承信息的c被UCؓ(f)父类Q超cR基c)(j)Q得到承信息的c被UCؓ(f)子类Q派生类Q。承让变化中的软gpȝ有了(jin)一定的延箋(hu)性,同时l承也是装E序中可变因素的重要手段Q如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)(j)?/div>
- 装Q通常认ؓ(f)装是把数据和操作数据的Ҏ(gu)l定hQ对数据的访问只能通过已定义的接口。面向对象的本质是现实世界描l成一pd完全自治、封闭的对象。我们在cM~写的方法就是对实现l节的一U封装;我们~写一个类是Ҏ(gu)据和数据操作的封装。可以说Q封装就是隐藏一切可隐藏的东西,只向外界提供最单的~程接口Q可以想x(chng)通洗机和全自动z机的差别Q明昑օ自动z衣机封装更好因此操作v来更单;我们现在使用的智能手Z是封装得_好的Q因为几个按键就搞定?jin)所有的事情Q?/div>
- 多态性:(x)多态性是指允怸同子cd的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同L(fng)Ҏ(gu)但是做了(jin)不同的事情。多态性分为编译时的多态性和q行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么q行时的多态性可以解释ؓ(f)Q当Apȝ讉KBpȝ提供的服务时QBpȝ有多U提供服务的方式Q但一切对Apȝ来说都是透明的(像?sh)动剃须刀是ApȝQ它的供늳l是BpȝQBpȝ可以使用甉|供电(sh)或者用交流?sh),甚至q有可能是太阌QApȝ只会(x)通过Bcd象调用供늚Ҏ(gu)Q但q不知道供电(sh)pȝ的底层实现是什么,I竟通过何种方式获得?jin)动力?j)。方法重载(overloadQ实现的是编译时的多态性(也称为前l定Q,而方法重写(overrideQ实现的是运行时的多态性(也称为后l定Q。运行时的多态是面向对象最_N的东西,要实现多态需要做两g事:(x)1). Ҏ(gu)重写Q子cȝ承父cdƈ重写父类中已有的或抽象的Ҏ(gu)Q;2). 对象造型Q用父类型引用引用子cd对象Q这样同L(fng)引用调用同样的方法就?x)根据子cd象的不同而表现出不同的行为)(j)?/div>
2、访问修饰符public,private,protected,以及(qing)不写Q默认)(j)时的区别Q?/div>
{:(x)
修饰W?span style="white-space:pre"> 当前c?span style="white-space:pre"> ??span style="white-space:pre"> ?c?span style="white-space:pre"> 其他?/div>
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
cȝ成员?sh)写讉K修饰旉认ؓ(f)default。默认对于同一个包中的其他cȝ当于公开QpublicQ,对于不是同一个包中的其他cȝ当于U有QprivateQ。受保护QprotectedQ对子类相当于公开Q对不是同一包中的没有父子关pȝcȝ当于U有。Java中,外部cȝ修饰W只能是public或默认,cȝ成员Q包括内部类Q的修饰W可以是以上四种?/div>
3、String 是最基本的数据类型吗Q?/div>
{:(x)不是。Java中的基本数据cd只有8个:(x)byte、short、int、long、float、double、char、booleanQ除?jin)基本类型(primitive typeQ和枚DcdQenumeration typeQ,剩下的都是引用类型(reference typeQ?/div>
4、float f=3.4;是否正确Q?/div>
{?不正?.4是双_ֺ敎ͼ双_ֺ型(doubleQ赋值给点型(floatQ属于下转型Qdown-castingQ也UCؓ(f)H化Q会(x)造成_ֺ损失Q因此需要强制类型{换float f =(float)3.4; 或者写成float f =3.4F;?/div>
5、short s1 = 1; s1 = s1 + 1;有错?short s1 = 1; s1 += 1;有错吗?
{:(x)对于short s1 = 1; s1 = s1 + 1;׃1是intcdQ因此s1+1q算l果也是int 型,需要强制{换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确~译Q因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制cd转换?/div>
6、Java有没有gotoQ?br />
|