SCJP6.0复习笔记一

参考资料:

SCJP6.0考题解析

SCJP笔记整理


题库:


java方法

第13题

java方法的可变参数类型

注意,可变参数类型必须作为参数列表的最后一项,而不能放在定长参数的前面。


继承与重载

第12题

Beta 繼承 Alpha, 選項中全部都是 bar(), 所以這題是在玩 override 及 overload

private void bar (int x){}, 從傳入參數看到準備要 override, 但是其存取修飾字小於原本父類別的 public, 所以不可以.

public void bar (int x){}, 這個就沒有問題了.

public int bar( String x){ return 1;}, 這個在玩 overloading, 傳入參數型態不同, 而且有正確的 return.

public Alpha bar( int x){}; 這個未處理 return 回 Alpha, 且參數是 int x, 應該是玩 override, 但是其傳回型態也不可以是 Alpha. 應該小於或等於原類別.

public void bar( int x, int y){}; OK, 因為傳入參數個數不同, 玩 overloading

public int bar(int x){ return x;}, 錯誤就是出在傳回值型態.


第14题

每个构造函数必须调用重载构造this或超类构造方法super作为其第一条语句


一、子类的构造方法没有显式呼叫父类的构造方法,因此子类的构造方法将用super();呼叫父类的无参构造方法

二、子类没有定义构造方法,则默认调用父类的无参构造方法

三、方法可以重载,但子类不能重载父类的构造方法,只能用super呼叫


父类构造了一个有参构造方法,因此没有默认的无参构造方法,所以编译错

所以如果一个类要扩展,最好提供一个无参构造方法以避免编程错误


第20题

Looser coupling(更松耦合)+Higher cohesion(更高内聚)是面向对象设计思想的重要特点


第23题

Low cohesion + Tight coupling则是不符合面向对象设计的做法,造成程序可修改性差,效率低


第26题

extends是strong is-a,implements是weak is-a,关系都是继承

aggregation和composition是has-a,关系是聚集和组合,通常表示为类中的一个数据域


第27题

子类不能降低父类中所定义方法的可访问性,所以不能使用private

覆盖方法的返回值必须与父类中原方法一样

重载方法则是一个类中提供多于一个方法,方法名相同,参数列表不同。如果方法名和参数列表都相同,即便是回传类型不同,也被视为同一个方法。


第28题

this可以用来呼叫同一个类中的另一个构造函数

super用来呼叫父类的构造函数

都可以带参或者不带参


第35题

呼叫同一个类中的构造方法要用this,而不能直接用方法名。否则编译失败


第39题

final类型只能直接初始化或在方法里第一次初始化,以后不能更改


第42题

优先选择参数个数确定的构造方法


第43题

子类当中没有构造方法的,直接调用父类的无参构造方法,但是如果父类没有无参构造方法,(比如显式定义了一个有参构造方法的情况下,就没有无参构造方法),编译就会出错



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值