写博客这几天终于有朋友回帖了,心里高兴。下面学习默认的构造方法、方法的重载和覆写,以下代码可以直接在MyEclipse中运行,到最后我会把中间写的所有代码打包放出来,敬请关注。
package operation;
class ConsBase {
ConsBase(int i) {
System.out.println("single int constructor");
}
/**
* 如果你没有显式定义任何构造方法,编译器会插入一个“后台”的不可见的无参数的构造方法。
* 如果你自己创建了构造方法,Java 就不支持默认的无参数的构造方法了。
* 可以通过在Base 类中创建一个“什么都不干”的零参数构造方法来修复这个错误。
*/
ConsBase() {// 构造器有和类同样的名字并且没有返回值
System.out.println("ConsBase");
// 当类的实例被创建时打印字符串“ConsBase”:
}
public void aBaseMethod(){
System.out.println("Base.amethod");
}
}
/**
* @author 木炭
* 程序最后输出:ConsBase 换行 Cons
*/
public class Cons extends ConsBase {
/**
* @param args
*/
public static void main(String args[]) {
// ConsBase c = new ConsBase();
Cons s = new Cons();
}
Cons() {
System.out.println("Cons");
}
/**
* @param iOver
* 如果一个类中的两个或者多个方法有同样的名字,就被称为方法重载。
* 你可以在一个类中有两个同样名字的方法,但是他们必须有不同的参数类型和顺序。
* 返回值的类型不能帮助区分两个方法。下面第二个参数相同的方法将导致编译时错误。
*/
public void amethod(int iOver){
System.out.println("Cons.amethod");
}
/* public int amethod(int iOver){
System.out.println("Cons int return method");
return 0;
}*/
//正确的重构
public int amethod(String iOver){
System.out.println("Cons int return method");
return 0;
}
//你可以在一个子类中重载一个方法,所需要的就是新方法有不同的参数顺序和类型。
//static 方法不能被重写。
public void aBaseMethod(){
System.out.println("重写aBaseMethod成功");
}
}
问题 ) 给定下面的类定义
class Base{
Base(int i){}
}
class DefCon extends Base{
DefCon(int i){
//XX}
}
如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的?
1) super();
2) this();
3) this(99);
4)super(99);
答案 4) super(99);
由于类Base 定义了一个构造方法,编译器将不会插入默认的0 参数的构造方法。因此,super()
的调用会引起一个错误。一个this()调用试着在当前类中调用一个不存在的0 参数构造方法,
this(99)调用会引起一个循环引用并将引起一个编译时错误。
问题 )下面的哪一句陈述是正确的?
1) The default constructor has a return type of void
2) The default constructor takes a parameter of void
3) The default constructor takes no parameters
4) The default constructor is not created if the class has any constructors of its own.
答案
3) The default constructor takes no parameters
4) The default constructor is not created if the class has any constructors of its own.
选项1 相当明显,因为构造方法不会有返回类型。选项2 不容易确定,Java 没有为方法或构
造方法提供void 类型。
问题 )给定下面的类定义
public class Upton{
public static void main(String argv[]){
}
public void amethod(int i){}
//Here
}
下面哪一个在替换//Here 后是合法的?
1) public int amethod(int z){}
2) public int amethod(int i,int j){return 99;}
3) protected void amethod(long l){ }
4) private void anothermethod(){}
答案
2) public int amethod(int i, int j) {return 99;}
3) protected void amethod (long l){}
4) private void anothermethod(){}
选项1 由于两个原因不会被编译。第一个相当明显,因为它要求返回一个integer。
另一个是试着直接在类内部重新定义一个方法。把参数的名字从i 换成z 是无效的,类型没有变。
并且一个方法不能在同一个类里重写。
问题 )给定下面的类定义
public class ShrubHill{
public void foregate(String sName){}
//Here
}
下面的哪一个方法可以合法的直接替换//Here?
1) public int foregate(String sName){}
2) public void foregate(StringBuffer sName){}
3) public void foreGate(String sName){}
4) private void foregate(String sType){}
答案
2) public void foregate(StringBuffer sName){}
3) public void foreGate(String sName){}
选项1 是试着定义一个方法两次,有一个int 返回值并不能帮助将它与存在的foregate 方法相区分。
而像选项4 那样改变方法的参数名,也不能与存在的方法相区分。
选项2里的foreGate 方法是与foregate不同的方法。
分享到:
相关推荐
SCJP考试指南(考试号310-065 中文版 中文版中文版
《SCJP考试指南(310-065...总之,SCJP认证是Java程序员职业生涯的一个重要证明,而《SCJP考试指南(310-065)》则是一份宝贵的备考资源,它将帮助你全面理解和掌握Java编程的核心知识,为顺利通过考试打下坚实的基础。
SCJP – Sun Certified Java Programmer (Sun Java 程序员认证).Sun 公司作为Java 语言的发明者,对全球的Java 开发人员进行技术水平认证。该认证在国际上获得了IT 公司的普遍认可,是目前国际上最热门的IT 认证之一...
【SUN-JAVA-SCJP认证考试】是Java开发者的一项基础资格认证,全称为Sun Certified Programmer for the Java 2 Platform, Standard Edition。这个考试主要针对Java编程语言的基础知识,包括语法、面向对象概念、异常...
本书旨在帮助读者准备scJP Java 6认证考试,书中涵盖了SCJP考试的所有考试要点,详细地介绍了参加该项考试的考生和Java程序员应掌握的所有技能。主要内容包括:声明与访问控制、面向对象 赋值、运算符、流程控制、...
《SCJP考试指南(考试号310-065)》是一本针对SUN认证SCJP(Sun Certified Programmer for Java 6)考试的重要参考书籍。SCJP是Java程序员的基础认证,旨在验证开发者对Java语言核心概念的理解和应用能力。考试号310-...
一本是英文原版教材,被传为SCJP的"圣经".这本书是专门针对于考试的考点而讲,不适合于JAVA入门,但最适于考试.但只看课程内容和重点总结就可以,题可以不用看,因为有真题. 另一个文件是台湾省的一个老师总结出的题库,...
《SUN认证——SCJP考试题库(310-055)》是一份针对Sun Microsystems公司(现已被Oracle收购)的Java程序员认证考试的重要参考资料。SCJP(Sun Certified Programmer for the Java Platform, Standard Edition)是...
SCJP 的学习/考试过程是相对相对比较明确的,首先学员参加SL-275的培训课程(标准费用大致在2600人民币,包括考试券、教材费),也可以单独购买考试券(Certification Voucher,费用现在是1250元),然后在Prometric...
### SCJP 认证考试指南知识点详述 #### 一、SCJP 认证概述 - **名称**:SCJP 全称为 Sun Certified Java Programmer,即 Sun 认证的 Java 程序员证书。 - **颁发机构**:由 Sun Microsystems(太阳微系统公司)...
本书旨在帮助读者准备scJP Java 6认证考试,书中涵盖了SCJP考试的所有考试要点,详细地介绍了参加该项考试的考生和Java程序员应掌握的所有技能。主要内容包括:声明与访问控制、面向对象 赋值、运算符、流程控制、...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Java编程语言的一个认证考试,主要用于验证候选人的基础知识和编程能力。这个考试是针对Java SE(标准版)平台的,以前由Sun ...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项认证考试,考试号310-065。这个认证主要针对的是Java SE(标准版)平台的基础编程知识,旨在验证...
本指南,即"SCJP 认证考试指南中文官方版",是为准备SCJP考试的考生提供的一份官方参考资料。它涵盖了考试的所有核心主题,包括但不限于以下内容: 1. **Java语法基础**:深入讲解Java编程语言的基本语法,如变量、...
这份"scjp最新试题----pdf"文档很可能是为了帮助考生准备SCJP考试而编写的,包含了最新的试题集。SCJP考试通常包括多选题和填空题,涉及以下几个关键的知识点: 1. **Java语法**:这是基础中的基础,包括变量声明、...
SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司为Java程序员提供的一项认证考试,考试号310-065。这个认证主要针对的是Java SE(标准版)平台的基础编程知识,旨在验证...
这款"JAVA SCJP 认证 310-065 考试模拟软件"是一个专门为备考者设计的学习工具,它模拟了真实的考试环境,帮助考生熟悉考试流程和格式。70道题目代表了正式考试中的题量,每题选择选项数目有标识,有助于考生了解...
本书旨在帮助读者准备SCJP Java 5认证考试。书中涵盖了SCJP考试的所有考试要点,详细地介绍了参加SCJP的考生和Java程序员所应该掌握的所有技能。 本书主要内容包括:声明和访问控制、面向对象、赋值和初始化、...