----------------------------------2009/9/29-----------------------
1.我遇到的问题:
《1》.在声明完属性等后要加分号(;),并且分号是在“英文“状态下的。
《2》.在写main函数时,”string“的开头字母老是小写,总是出现错误的报告。string——>String
总结:
《1》.注意:main函数主体部分是不能改变的。
《2》.在写构造函数时,构造函数的名称要和类名相同。
:
《3》.在写编程时,写作风格也是非常重要的。要注意”代码的对齐方式“、”括号的成对出现“.....
--------------------------------2009/10/12---------------------------
1.我遇到的问题:
《1》.关于super的问题:(1) super在调用时必须在构造函数的第一行,否则会报错:
call to super must be first statement in constructor.
(2) 如果在父类中没有空的构造函数,在子类中的构造函数中要写super(XX);如 果有则在子类的构造函数中编译器会自动一个父类的方法super();
2.关于继承的总结: (1) 标为private的属性与方法不能继承;构造方法不能继承。
(2) super--若子类构造函数未显示调用父类构造方法,则编译器会自动生成一个super();
(3) 同名问题:(a).遮蔽(shadow)---子类的同名属性会遮蔽父类的同名属性,由super()在子类中引用父类的 属性。
(b).方法的同名:--1.子类与父类有一样的方法(方法名、参数、返回值均一样);
--2.子类一旦被转换成父类,则只能调用父类的方法;
--3.若子类方法与父类方法一样,则运行时,仍会执行子类的方法。
(4)父子类间的问题:(a):子类转换成父类自动转换;
(b):父类转换成子类不行。
(c):转换形式包括 赋值转换、传参转换。
-------------------------------2009/10/19-------------------------
1.我遇到的问题:
《1》.关于抽象类的问题:(1) 在定义完抽象基类--Vehicle1--后,在定义子类Bus1时,出来一个错误:
Multiple markers at this line
- The method DisPlay() of type Bus1 must override a superclass method
- implements Vehicle1.DisPlay
--- 解决方案:在Bus1类中要实现基类的所有抽象方法,否则会出错。
《2》.关于接口问题: (1) 在定义完--Fly--接口后,在基类中写完-(public class Bus1 extends Vehicle1 implements fly )-后
会出现一个错误:
The Bus1 must implement the inherited abstract method fly.fly()
解决方案:Bus1中必须实现接口中的方法,因为“接口也是一个特殊的抽象类”。
在Bus1中添加一个Fly中的fly方法:public void fly(){}
(2) 可以定义多个接口在,基类中可以这样写-public class Bus1 extends Vehicle1 implements fly,Swim
即在--implements后的多个接口用 “,”隔开。
(3)在做CircleScaleable继承于Circle类同时实现Scaleable接口实验时,在创建完CircleScaleable这些要 求时,第一行报错:
Multiple markers at this line
- The type CircleScaleable must implement the inherited abstract methodScaleable.scale(double)
- Implicit super constructor Circle() is undefined for default constructor. Must define
an explicit constructor
——> 解决方案:(1)在CircleScaleable中必须实现接口Scaleable中的抽象方法,即
public void scale(double proportion){ }
(2)
2.关于抽象类的总结: (1) 抽象类中必含抽象方法,抽象方法必在抽象类中。
(2) 抽象类不能被实例化。
(3) 抽象类可以继承抽象类。
3.关于接口的总结: (1) 接口中的方法都是抽象方法。
(2) 实现了某个接口的类其对象可以被转换为该接口类型,但只能调用该接口方法。
(3) 一旦声明实现了接口,必须实现接口中所用方法。
(4) 一个类可以实现多个接口。
(5) 抽象类可以实现接口。
(6) 接口可以继承。
4.局部变量和全局变量问题:
(1)子定义局部变量和全局变量时,"避免命名重复,命名要规范".
--------2009/11/7----------------------------------
1. ????? java.lang.NoClassDefFoundError: java
Exception in thread "main"
------------2009/11/8-----------------------------
1.在做除法运算时出现的错误:
---(1)---
The local variable y may not have been initialized
The local variable y may not have been initialized
原因:由于x,y没有被初始化
解决方法:float x=1;float y=1;
---(2)---
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at chufa.main(chufa.java:8)
原因:数据越界,出现异常。
解决方法:加上一个判断条件:if(args.length>1) 就OK了。
总结:在出现数据越界问题时,应该用 “length”。
---(3)----
java.lang.NumberFormatException:
原因:由于格式不正确导致的错误。
解决方法:在错误的地方“ 右击----》surround with---->try catch “ 就行了。
总结:一般格式错误就在错误的地方加上”try catch“.
--------------------------2009/11/11------------------
1.文件读取时出现的错误:
---(1)---
java.io.FileNotFoundException: e:/test.txt (系统找不到指定的文件。)
解决方法:在e盘内建立test.txt 文本文件。
---(2)---
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
功能:system.in 从键盘输入内容。
----------------------2009/11/19-----------------------
1.出现的异常:
-----(1)---
Unhandled exception type IOException
原因: 没有处理异常;
解决方法:选中出现异常的代码,--》右击--》surround with--》try catch
------(2)----
Unhandled exception type FileNotFoundException
原因: 没有异常处理
解决方法:选中出现异常的代码,--》右击--》surround with--》try catch