java笔记12之面向对象初始
1 概述
类:是一组相关的属性和行为的集合。是一个抽象的概念。
对象:是该类事物的具体表现形式。具体存在的个体。
(1)面向对象思想
面向对象是基于面向过程的编程思想。
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,然后由对象去调用功能
(2):面向对象的思想特点
A:是一种更符合我们思想习惯的思想
B:可以将复杂的事情简单化
C:将我们从执行者变成了指挥者
举例:
买电脑:
面向过程:我的了解电脑--了解我自己的需求--找对应的参数信息--去中关村买电脑--讨价还价--买回电脑
面向对象:我知道我要买电脑 -- 班长去给我买 -- 班长就买回来了
吃饭:
面向过程:去超市买菜--摘菜--洗菜--切菜--炒菜--盛起来--吃
面向对象:上饭店吃饭,你--服务员(点菜)--厨师(做菜)--服务员(端菜)--吃
例子:学生类
1 /* 2 事物: 3 属性 事物的信息描述 4 行为 事物的功能 5 6 类: 7 成员变量 事物的属性 8 成员方法 事物的行为 9 10 定义一个类,其实就是定义该类的成员变量和成员方法。 11 12 案例:我们来完成一个学生类的定义。 13 14 学生事物: 15 属性:姓名,年龄,地址... 16 行为:学习,吃饭,睡觉... 17 18 把事物要转换为对应的类: 19 20 学生类: 21 成员变量:姓名,年龄,地址... 22 成员方法:学习,吃饭,睡觉... 23 24 成员变量:和以前变量的定义是一样的格式,但是位置不同,在类中方法外。 25 成员方法:和以前的方法定义是一样的格式,但是今天把static先去掉。 26 27 首先我们应该定义一个类,然后完成类的成员。 28 */ 29 //这是我的学生类 30 class Student { 31 //定义变量 32 //姓名 33 String name; 34 //年龄 35 int age; 36 //地址 37 String address; 38 39 //定义方法 40 //学习的方法 41 public void study() { 42 System.out.println("学生爱学习"); 43 } 44 45 //吃饭的方法 46 public void eat() { 47 System.out.println("学习烦了,要打游戏"); 48 } 49 50 //睡觉的方法 51 public void sleep() { 52 System.out.println("游戏累了,要睡觉"); 53 } 54 }
例子2 手机类
1 /* 2 手机类的测试 3 */ 4 class Phone { 5 //品牌 6 String brand; 7 //价格 8 int price; 9 //颜色 10 String color; 11 12 //打电话的方法 13 public void call(String name) { 14 System.out.println("给"+name+"打电话"); 15 } 16 17 //发短信的方法 18 public void sendMessage() { 19 System.out.println("群发短信"); 20 } 21 22 //玩游戏的方法 23 public void playGame() { 24 System.out.println("玩游戏"); 25 } 26 } 27 28 class PhoneDemo { 29 public static void main(String[] args) { 30 //创建手机对象 31 //类名 对象名 = new 类名(); 32 Phone p = new Phone(); 33 34 //直接输出成员变量值 35 System.out.println(p.brand+"---"+p.price+"---"+p.color); 36 37 //给成员变量赋值 38 p.brand = "诺基亚"; 39 p.price = 100; 40 p.color = "灰色"; 41 //再次输出 42 System.out.println(p.brand+"---"+p.price+"---"+p.color); 43 44 //调用方法 45 p.call("林青霞"); 46 p.sendMessage(); 47 p.playGame(); 48 } 49 }
3 对象内存图