类和对象
面向对象和面向过程的思想对比 :
面向过程 :是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的
面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能
类和对象的关系
-
类
-
类的理解
-
类是对现实生活中一类具有共同属性和行为的事物的抽象
-
类是对象的数据类型,类是具有相同属性和行为的一组对象的集合
-
简单理解:类就是对现实事物的一种描述
-
-
类的组成
-
属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)
-
行为:指事物能执行的操作,例如:手机事物(打电话,发短信)
-
-
-
类和对象的关系
-
类:类是对现实生活中一类具有共同属性和行为的事物的抽象
-
对象:是能够看得到摸的着的真实存在的实体
-
简单理解:类是对事物的一种描述,对象则为具体存在的事物
-
类的组成是由属性和行为两部分组成
-
属性:在类中通过成员变量来体现(类中方法外的变量)
-
行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
类的定义步骤:
① 定义类
② 编写类的成员变量
③ 编写类的成员方法
public class Student { // 属性 : 姓名, 年龄 // 成员变量: 跟之前定义变量的格式一样, 只不过位置发生了改变, 类中方法外 String name; int age; // 行为 : 学习 // 成员方法: 跟之前定义方法的格式一样, 只不过去掉了static关键字. public void study(){ System.out.println("学习"); } }
对象的创建和使用
-
创建对象的格式:
-
类名 对象名 = new 类名();
-
-
调用成员的格式:
-
对象名.成员变量
-
对象名.成员方法();
-
-
示例代码 :
package com.yyj.object1; public class TestStudent { /* 创建对象的格式: 类名 对象名 = new 类名(); 调用成员变量的格式: 对象名.变量名 调用成员方法的格式: 对象名.方法名(); */ public static void main(String[] args) { // 类名 对象名 = new 类名(); Student stu = new Student(); // 对象名.变量名 // 默认初始化值 System.out.println(stu.name); // null System.out.println(stu.age); // 0 stu.name = "张三"; stu.age = 23; System.out.println(stu.name); // 张三 System.out.println(stu.age); // 23 // 对象名.方法名(); stu.study(); // com.yyj.object1.Student@b4c966a // 全类名(包名 + 类名) System.out.println(stu); } }
案例-手机类的创建和使用
需求 :首先定义一个手机类,然后定义一个手机测试类,在手机测试类中通过对象完成成员变量和成员方法的使用
分析 :
-
成员变量:品牌, 价格
-
成员方法:打电话, 发短信
-
示例代码:
package com.yyj.test1; public class Phone { // 品牌, 价格 String brand; int price; // 打电话, 发短信 public void call(String name){ System.out.println("给"+name+"打电话"); } public void sendMessage(){ System.out.println("群发短信"); } }
package com.yyj.test1; public class TestPhone { public static void main(String[] args) { // 1. 创建对象 Phone p = new Phone(); // 2. 给成员变量进行赋值 p.brand = "大米"; p.price = 2999; // 3. 打印赋值后的成员变量 System.out.println(p.brand + "..." + p.price); // 4. 调用成员方法 p.call("阿强"); p.sendMessage(); } }