java----面向对象入门

编程思想其实就是编程思路,我们开发中2种经典的编程思想就是面向过程编程思想和面向对象编程思想.

面向过程编程思想
  • 强调的是过程,必须清楚每一个步骤,然后按照步骤一步一步去实现
面向对象编程思想
  • 强调的是对象, 通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。
举例对比2种编程思想
  • 洗衣服:

    • 面向过程:把衣服脱下来–>找一个盆–>放点洗衣粉–>加点水–>浸泡10分钟–>揉一揉–>清洗衣服–>拧干–>晾起来
    • 面向对象: 把衣服脱下来–>给女朋友去洗
  • 吃饭

    • 面向过程: 买菜—>洗菜—>炒菜—>吃
    • 面向对象: 找个饭店–>15块钱
  • java程序: 需求:打印数组中所有的元素,打印格式为: [元素1,元素2,元素3,元素,…,元素n]

public class Test1 {
    public static void main(String[] args) {
        /*
            面向过程编程思想
            - 强调的是过程,必须清楚每一个步骤,然后按照步骤一步一步去实现

            面向对象编程思想
            - 强调的是对象, 通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。
         */
        //  需求:打印数组中所有的元素,打印格式为: [元素1,元素2,元素3,元素,...,元素n]
        // 1.1 定义一个数组,并且初始化数组中的元素
        int[] arr = {10, 20, 30, 40, 50};

        // 1.面向过程来实现该需求
        // 1.1 循环遍历数组中每一个元素
        for (int i = 0; i < arr.length; i++) {
            // 1.2 在循环中,取出遍历出来的元素
            int e = arr[i];
            // 1.3 判断遍历出来的元素
            if (i == 0) {
                // 1.4 如果是第一个元素,打印格式为: [ + 元素 + 逗号空格
                System.out.print("[" + e + ", ");
            } else if (i == arr.length - 1) {
                // 1.4 如果是最后一个元素,打印格式为: 元素 + ]
                System.out.println(e + "]");
            } else {
                // 1.4 如果是中间元素,打印格式为: 元素 + 逗号空格
                System.out.print(e + ", ");
            }
        }
        System.out.println("+============================================");
        // 2.面向对象来实现该需求
        // jdk中提供了一个Arrays类的toString方法,可以帮助我们按照这种格式打印数组中的所有元素
        System.out.println(Arrays.toString(arr));
    }
}

类的概述
  • 类是用来描述一类具有共同属性和行为事物的统称。所以其实类在客观世界里是不存在的,是抽象的,只是用来描述数据信息的。
  • 人类: 描述信息
  • 猫类: 描述信息
  • 手机类: 描述信息
  • 学生类: 描述信息
类的组成
  • 属性:就是该事物的状态信息。
  • 行为:就是该事物能够做什么。
举例
  • 手机类

    • 属性:品牌、价格…。
    • 行为:打电话、发短信…。
    对象的概念
  • 对象是类的一个实例(并不是你的女朋友哈),具体存在的,看得见摸得着的,并且具备该类事物的属性和行为

    • 对象的属性:对象的属性具有特定的值
    • 对象的行为:对象可以操作的行为
举例
  • 对象: 你手上拿的这台手机
    • 属性:华为、1999。 对象的属性具体的值,类中的属性没有具体的值
    • 行为:使用打电话功能,使用发短信功能。对象可以使用行为
类和对象的关系
  • 类是对一类具有共同属性和行为的事物的统称,是抽象的

  • 对象是一类事物的具体实例,看得见,摸的着的,真实存在的实体,是具体的

  • 类是对象的抽象,对象是类的实体

在这里插入图片描述

类的定义步骤

①定义类

②编写类的成员变量

③编写类的成员方法

public class 类名 {// 定义一个类
	// 类里面:属性(成员变量),行为(成员方法)
    // 定义成员变量
    数据类型 变量名1;
    数据类型 变量名2;
    ...
        
    // 定义成员方法
    方法;  去掉static
}
举例
  • 定义一个手机类,类名为(Phone),类的属性有:品牌(brand),价格(price),类的行为:打电话(call),发短信(sendMessage)
public class Phone {
    // 成员变量: 属性
    String brand;// 品牌
    int price;// 价格

    // 成员方法: 行为
    /**
     * 打电话的功能
     *
     * @param phoneNum 电话号码
     */
    public void call(String phoneNum) {
        System.out.println("正在给" + phoneNum + "打电话...");
    }

    /**
     * 发短信的功能
     *
     * @param phoneNum 电话号码
     * @param message  短信内容
     */
    public void sendMessage(String phoneNum, String message) {
        System.out.println("正在给" + phoneNum + "发短信,短信的内容是:" + message);
    }
}

对象的创建
  • 创建对象的格式:
    • 类名 对象名 = new 类名();
    • 类其实就是对象的数据类型,类是引用数据类型
    • 例: Phone p1 = new Phone (); 创建了一个手机对象(Phone类的对象)
对象的使用
  • 调用成员的格式:
    • 访问成员变量
      • 获取成员变量的值: 对象名.成员变量名
      • 给成员变量赋值: 对象名.成员变量名=值;
    • 访问成员方法
      • 对象名.成员方法();
public class Phone {
    // 成员变量: 属性
    String brand;// 品牌
    int price;// 价格

    // 成员方法: 行为
    /**
     * 打电话的功能
     *
     * @param phoneNum 电话号码
     */
    public void call(String phoneNum) {
        System.out.println("正在给" + phoneNum + "打电话...");
    }

    /**
     * 发短信的功能
     *
     * @param phoneNum 电话号码
     * @param message  短信内容
     */
    public void sendMessage(String phoneNum, String message) {
        System.out.println("正在给" + phoneNum + "发短信,短信的内容是:" + message);
    }
}

public class Test {
    public static void main(String[] args) {// 程序的入口
        /*
            - 对象的创建:
                格式: 类名 对象名 = new 类名();

            - 对象的使用:
                访问成员变量:
                    获取成员变量的值: 对象名.成员变量名
                    给成员变量赋值: 对象名.成员变量名 = 值;
                访问成员方法:
                    对象名.方法名(实参);

                    无返回值的方法: 直接调用
                    有返回值的方法:
                        直接调用: 对象名.方法名(实参);
                        赋值调用: 数据类型 变量名 = 对象名.方法名(实参);
                        输出调用: System.out.println(对象名.方法名(实参));


            - 成员变量默认值:
                整数类型: 默认值为0
                小数类型: 默认值为0.0
                布尔类型: 默认值为false
                字符类型: 默认值为不可见字符 '\u0000'
                引用数据类型: 默认值为null
                引用类型: 类,数组,接口....
         */
        // 创建Phone类的对象
        Phone p1 = new Phone();

        // 获取brand成员变量的值
        //String b = p1.brand;
        //System.out.println(b);
        System.out.println(p1.brand);// null

        // 获取price成员变量的值
        System.out.println(p1.price);// 0

        // 给成员变量赋值:
        p1.brand = "华为";
        p1.price = 19999;
        System.out.println(p1.brand+","+p1.price);// 华为,19999


        // 访问成员方法:
        p1.call("10086");
        p1.sendMessage("10086","请问联通客服电话号码是多少?");


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值