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 }

原文地址:https://www.cnblogs.com/CocoonFan/p/2861944.html