Lesson_5 上课笔记
2013-1-15
面向对象初步
对象,类,方法,构造函数,访问修饰符
1 /*********************************************************** 2 * Lesson_5 3 * 13-01-15 4 * 面向对象基础 5 * note by CocoonFan 6 ************************************************************ 7 8 ************************************************************ 9 * 一、面向对象的思想OOP(Object Oriented Programming) 10 * --> 模拟现实世界中的对象 11 * -->解决实际生活中的问题 12 * 13 * 二、三个特点:封装、继承、多态。 14 * 三、对象和类的区别 15 * 对象是类的具体,类是对象的抽象(属性和方法)。 16 * 四、对象的特征 ---- 属性(变量,静态的代码段({···}) + 方法 17 * 五、类的定义(变量和方法的定义) 18 * 六、访问修饰符 19 * 七、构造方法:与类同名,没有返回值 20 ***********************************************************/ 21 22 public class Lesson_5{ 23 public static void main(String []args){ 24 //只有在想要运行的时候才会有main方法 25 //定义对象: 26 // 类名 对象名 = new 类名(); //实际上是调用的构造方法 27 Person person2 = new Person(); 28 person2.introduce(); 29 30 System.out.println(); 31 32 Person person1 = new Person("CocoonFan", 20, "0001"); 33 person1.introduce(); 34 person1.saySomething(); 35 person1.jump(); 36 person1.add(10,20); 37 38 Student goldenHair = new Student("金毛狮王"); 39 goldenHair.exam("English"); 40 41 } 42 //类的定义: 43 //[访问修饰符] class 类名字 { 44 // 类体: 45 // 属性: 46 // 成员变量 47 // 方法: 48 // 成员方法 49 //} 50 } 51 52 class CentralSouthUniversity{ 53 //特征:名字、在校人数、地址······ 54 //[访问修饰符] 数据类型 变量名 [=初始值]; 55 //访问修饰符:用来确定属性或者方法可以被访问的范围 56 // public: 公共的,访问没有约束 57 // protected: 受保护的,在同一个包或者子类可以被访问 58 // auto: (默认的,可以不写)在同一个包下可以被访问 59 // private: 只能在自己当前类中可以被访问 60 String name; 61 int num; 62 String address; 63 //方法的定义: 64 // [访问修饰符][static][final] 方法返回类型 方法名 ([数据类型 参数1,数据类型 参数2,···]) { 65 // 方法的返回类型: 66 // 有返回:空返回(void) + 具体返回类型(int, Stirng···)(此时必须有return语句) 67 // 无返回:只适用于构造方法 68 //} 69 } 70 71 class Person{ 72 private String name; 73 int age; 74 String ID; 75 76 //System.out.println ("写在这里会出错,因为他不是静态的,而是一个方法"); 77 //静态代码段可以写在这里 78 { 79 System.out.println("这是一个代码段,想想为什么会多出这一句······"); 80 } 81 82 83 //构造方法:与类同名,没有返回值.提供给系统调用,用来构建对象. 84 //[访问修饰符] 方法名 ([数据类型 参数1, 数据类型 参数2,···]) { 85 // 方法体; 86 //} 87 //构造方法会在 对象创建时调用 88 public Person(){ 89 name = "Noname"; 90 age = 0; 91 ID = "0000"; 92 System.out.println("这里调用了构造方法-----01"); 93 } 94 public Person(String name, int age, String ID){ 95 this.name = name; 96 this.age = age; 97 this.ID = ID; 98 System.out.println("这里调用了构造方法-----02"); 99 100 } 101 void jump(){ 102 System.out.println("我能跳很高····"); 103 } 104 public void saySomething(){ 105 System.out.println("我正在说话···"); 106 } 107 public int add (int a, int b){ 108 System.out.println(a + " + " + b + " = " + (a + b)); 109 return a+b; 110 } 111 public void introduce(){ 112 System.out.println("我叫 " + name + ", 我今年" + age + ", 我的ID是:" + ID); 113 } 114 } 115 class Student{ 116 String name; 117 String number; 118 119 public Student(String name){ 120 this.name = name; 121 } 122 123 public void exam(String subjectName){ 124 System.out.print(name + "在考试:" + subjectName); 125 } 126 127 }