文章目录
- 程序改错题(20分)
- 项目结构
- 改错题01
- 改错题02
- 改错题03
- 改错题04
- 改错题05
- 改错题06
程序改错题(20分)
项目结构
改错题01
修改前
packageProgramDesign;publicclassT1{privateintage;privatestaticStringname;privateT1(){//构造方法}voidT1(intage){//构造方法this.age=age;}publicT1(StringuserName){//构造方法name=userName;}}修改后
packageProgramDesign;/** * 本题考察知识点:构造方法不能有返回值 p92 * */publicclassT1{privateintage;privatestaticStringname;privateT1(){//构造方法}publicT1(intage){//构造方法不应有返回值this.age=age;}publicT1(StringuserName){//构造方法name=userName;}}考察知识点:构造函数,构造函数的定义P92:
构造方法的名称必须与类名一致;
构造方法名称前不能有任何返回值类型的声明
不能在构造方法中使用return返回一直值。但可以单独写return语句作为方法的结束
改错题02
修改前
packageProgramDesign;classT2{publicstaticvoidmain(String[]args){System.out.println(add(1,2));}privateintadd(inta,intb){returna+b;}}修改后
packageProgramDesign;/** * 在类中静态方法无法访问非静态方法 */publicclassT2{publicstaticvoidmain(String[]args){System.out.println(add(1,2));}privatestaticintadd(inta,intb){returna+b;}}相关知识点:
1.只有静态方法才能用类名.方法名调用
2.当一个类中有静态方法、变量时,改类的所有实例共享这个静态方法、变量
改错题03
修改前
packageProgramDesign;classT3{abstractfloatcalculateArea(floatw,floath);voidprintInfo(){}staticfloatgetWidth(){return0;}}修改后
packageProgramDesign;/** * 抽象类和抽象方法必须使用abstract关键字修饰 */publicabstractclassT3{abstractfloatcalculateArea(floatw,floath);voidprintInfo(){}staticfloatgetWidth(){return0;}}相关知识点:
1.包含抽象方法的类一定是抽象类
2.抽象类不一定包含抽象方法
3.子类必须重写父类的所有的抽象方法
改错题04
修改前
packageProgramDesign;publicclassT4{publicstaticvoidmain(String[]args){intresult=divide(4,0);System.out.println(result);}publicstaticintdivide(intx,inty)throwsException{intresult=x/y;returnresult;}}修改后
packageProgramDesign;/** * 手动抛出的异常的方法在使用时必须处理该异常 */publicclassT4{publicstaticvoidmain(String[]args)throwsException{intresult=divide(4,0);System.out.println(result);}publicstaticintdivide(intx,inty)throwsException{intresult=x/y;returnresult;}}相关知识点:
1.当程序产生异常时,可以在方法中声明 抛出异常
2.当程序产生异常时,可以使用try…catch语句对异常进行捕获处理
改错题05
修改前
packageProgramDesign;publicclassT5{publicstaticvoidmain(Stringargs[]){bytea=-128;intb=666;floatc=3.14;doubled=0.618;chara=97;}修改后
packageProgramDesign;/** * 单精度浮点数要在结尾处加f */publicclassT5{publicstaticvoidmain(Stringargs[]){bytea=-128;intb=666;floatc=3.14f;doubled=0.618;chare=97;}}相关知识点:
1.在同一命名空间中变量名不能重名
2.float与double数据类型不能自动转换,需要显示声明,在数据末尾加F或D
改错题06
修改前
packageProgramDesign;publicclassT6{publicstaticfinalStringSCHOOL_NAME="成都文理学院";publicstaticvoidmain(Stringargs[]){changeSchool("电子科技大学");System.out.println(SCHOOL_NAME);}staticvoidchangeSchool(Stringschool){T6.SCHOOL_NAME=school;}}修改后
packageProgramDesign;/** * 使用final关键字修饰的成员属性不能修改 */publicclassT6{publicstaticStringSCHOOL_NAME="成都文理学院";publicstaticvoidmain(Stringargs[]){changeSchool("电子科技大学");System.out.println(SCHOOL_NAME);}staticvoidchangeSchool(Stringschool){T6.SCHOOL_NAME=school;}}相关知识点:
1.被final修饰的变量不允许修改
2.被final修饰的方法不允许被重写
3.被final修饰的类不允许被继承