1. 类
1.1 类的一般形式
1.1.1 举例
class Human { //声明各类变量来描述类的属性 String name; String sex; int age; String addr; void work(){System.out.println("I am working")} void eat(){System.out.println("I am eating")} }
1.1.2 关于修饰符
- private: 只有本类可见
- protected: 本类、子类、同一包的类可见
- 默认(无修饰符): 本类、同一包的类可见
- public: 对任何类可见
package chap5; class Human{ String name; String sex; int age; String addr; void work() { System.out.println("I am working"); } void eat() { System.out.println("I am eating"); } //定义一个方法,返回值为String类型 String getState(int time) { String state = null; if(time>=0 && time<=24){ if(time>8 && time<17) state="I am working"; else if(time>17 && time<22) state="I am studing"; else if(time>22 || time<7) state="I am sleeping"; } else state="incorrect time"; return state; } } public class MethodDemo { public static void main(String[] args) { Human zs = new Human(); //设定对象的属性值 zs.name = "wayne"; zs.age = 29; zs.sex = "male"; zs.addr = "Shanghai China"; System.out.println(zs.name + ", what will you do at 23 o'clock?"); //调用getState()方法,把返回值打印出来 System.out.println(zs.getState(23)); System.out.println("how about 3pm?"); System.out.println(zs.getState(15)); } }
1.2 方法的重载(overloading)
1.2.1 Java根据参数类型和参数的数目来确定调用哪一个方法
package chap5; public class OverloadDemo { //定义一些列的方法,这些方法的参数是不同的,通过参数的不同来调用不同的方法 void method() { System.out.println("无参数方法被调用"); } void method(int i) { System.out.println("参数为int类型被调用"); } void method(double d) { System.out.println("参数为double类型被调用"); } void method(String s) { System.out.println("参数为String类型被调用"); } public static void main(String[] args) { OverloadDemo ov = new OverloadDemo(); //使用不同的参数调用方法 ov.method(); ov.method(4); ov.method(4.5D); ov.method("a string"); } }
1.2.2 当参数的类型并不能完全匹配时,Java的自动类型转换会起作用
package chap5; public class OverloadDemo2 { void method() { System.out.println("无参数方法被调用"); } void method(double d) { System.out.println("参数为double方法被调用"); } void method(String s) { System.out.println("参数为string方法被调用"); } public static void main(String[] args) { OverloadDemo2 ov = new OverloadDemo2(); ov.method(); ov.method(4); //无参数为int型方法,Java就找到了最为相似的方法method(double) ov.method(4.5D); ov.method("a string"); } }
2. 对象
2.1 对象的创建和使用
2.2 构造函数
3. 关键字 static
3.1 静态变量
3.2 静态方法
3.3 静态常量
4. 参数传递
4.1 基本类型的参数传递
4.2 对象类型的参数传递
5. 包
5.1 包的使用
5.2 导入包
5.3 在Eclipse中使用包
6. 小结