- 一个很抽象的概念,它相对面向过程而言。
-
过程与对象都是一种解决问题的思想。
-
面向过程:强调的是功能行为,一种过程,先干啥,再干啥;
-
面向对象:将功能封装到对象里,强调的是具备某功能的对象;
-
- 计算机语言为了更好的去描述现实生活中的事物,也一样会按照生活中的思考方式来定义,这样人们使用起来才会更方便。
面向对象特征:
- 封装
- 继承
- 多态
类是对生活中某一类事物的描述(一种抽象概念),对象是该类事物实实在在存在的个体。(对象==实例)
- 类是对具有相似性质的一类事物的抽象描述(包括状态和行为);
- 类是对象的模板,对象是类的实例,例子:描述昨天看见的一个靓妹;
- 抽取对象中共性内容,--->对具体进行抽象;---->该类事物具备的特性;
- 描述事物--->描述事物的的字段和行为;
- 状态对应类中的成员变量(字段);
- 决定对象的具体表现形式 行为对应类中的方法;决定了对象的具体的一些行为
- 所以定义类就是在描述事物,就是在给类中定义类的成员(字段和方法);
手机:颜色,大小,重量等状态;打电话功能
类来对对象进行描述
对象里的状态:成员变量(字段Field)(ps:字段不能叫属性,属性是javabean特有的)
对象里的功能:方法
类和对象的关系:类对对象描述,对象是实实在在存在的个体
类的定义:
- 状态: 使用成员变量来描述[Field 字段]
- 功能: 使用 方法来描述
注意:
- 类名和方法名:类名 首字母大写 方法名首字母小写 StudentXxxOoo,void studentScore(){}
- 修饰符可以是 public ,final 或则省略
- goto const 不是关键字 但是作为保留字 保留了下来,我们定义变量的时候不能使用


/* 描述手机这一类事物 */ class CellPhone { //状态: 使用成员变量来描述[Field 字段] String brand;//品牌 String color;//颜色 double price;//价格 //功能: 使用 方法来描述 //打电话 void call() { } //发短信 void sendMsg() { } //描述自身信息 void showInfo() { System.out.println(brand +"-->"+color+"-->"+ price); } } class Demo { public static void main(String[] args) { //我现在需要一部手机 // new 类名();//表示创建一个对象 //创建了(对象)一部手机,并把这个手机赋给一个表示手机的一个变量,phone 就是这个对象的别名 CellPhone myPhone = new CellPhone();//表示创建了一个手机,手机属于手机类型 //给手机搞点颜色.给哪部手机弄颜色 myPhone.color = "红色"; //调用手机显示自身信息的功能 myPhone.showInfo(); //打电话 myPhone.call(); } }


1 /* 2 我给小丽打电话 3 4 5 */ 6 7 //描述手机 8 class CellPhone 9 { 10 //手机有连接信息信息 11 void connected(String phoneNum) 12 { 13 System.out.println("正在和" + phoneNum +"连接"); 14 } 15 } 16 17 18 //描述人类 19 class Person 20 { 21 /* 1表示男的, 0表示女的, -1表示未知的*/ 22 int gender = 1; //性别 23 24 25 String phoneNum;//联系方式 26 27 28 //打电话行为 29 void call(CellPhone phone, String phoneNum) 30 { 31 //调用手机通信的功能 32 phone.connected(phoneNum); 33 } 34 } 35 36 class Demo2 37 { 38 public static void main(String[] args) 39 { 40 Person me = new Person();//创建一个对象表示我 41 42 Person xiaoli = new Person(); 43 xiaoli.phoneNum = "110";//给小丽一个电话号码 44 45 46 //造一个手机 47 48 CellPhone iphone = new CellPhone(); 49 50 //调用void call(CellPhone phone, String phoneNum) 51 me.call(iphone,xiaoli.phoneNum); 52 } 53 }