对面向对象编程的理解

面向对象介绍

  • 面向:拿、找
  • 对象:能干活的东西或者有对应技能的人
  • 面向对象编程:拿东西做对应的事,找有技能的人做对应的事

在生活中很多时候,我们都是找东西做对应的事。比如:找洗衣机洗衣服, 找扫地机扫地,找手机打电话。这种找东西来解决事情的思路就叫做面向对象编程

学面向对象之前其实已经用过面向对象编程

例如:随机数的生成,在控制台输入数据

//得到一个随机数对象,用于获取随机数
Random r = new Random();
int data = r.nextInt(100) + 1;//生成1~100之间的随机数
System.out.println(data);

//创建一个scanner对象,用于接收用户输入的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
int m = sc.nextInt();
System.out.println(m);

在这里插入图片描述

图中的Random… 、System… 、Scanner… 都是面向对象编程

与C语言不同的是Java面向对象更注重于整体,而不是特别在意细节,C语言在这方面就像是包工头,而Java就像是幕后的老板,只负责分配工作,至于怎么做,Java则不关心

为什么Java要使用面向对象来编程

结合生活中的实际情况来看

在这里插入图片描述

洗衣服找洗衣机 扫地找扫地机 打电话找手机

似乎这种方式更符合人类的思想

所以Java中的面向对象更加符合人类的思维习惯,使编程更简单,更好理解

面向对象学什么

  1. 如何获取已有的对象并使用

    例如:随机数和控制台输入

    Random r = new Random();
    int data = r.nextInt(100) + 1;
    
    Scanner sc = new Scanner(System.in);
    int m = sc.nextInt();
    
  2. 如何自己设计对象并使用

    涉及面向对象的语法以及自身的实际情况

如何设计对象

类和对象

在Java中,必须先设计类,才能获得对象

  • 类(class):具有相同属性和行为的对象的集合,是一个抽象的概念,不指向任何具体的实物

    • 属性:描述对象的特征,在程序找中体现成员变量

      行为:对象具有的动作或能力,在程序中,体香方法

      例如下面这些都是类 猫,学生,树,桌子…

    • 类的定义

      程序中用关键字class类

      语法结构:

      [修饰符]class类名{

      ​ //属性(成员变量)

      ​ //行为(方法)

      }

      例如

      //定义类名
      public class Student {
      
          //定义属性
          String name;
          int age;
          String sex;
      
          //定义方法
          void study(){
              System.out.println("正在学习.....");
          }
      
          void exam(){
              System.out.println("正在考试.....");
          }
      
          void sleep(){
              System.out.println("正在休息.....");
          }
      
      }
      
  • 对象:是真实存在的具体东西,对象是类的一个具体的实例,是类的具体的表现

    • 创建对象的语法:

      类名 对象名 = new 类名([参数])

      Student student = new Student();

    • 读写属性

      对象名.属性名

      student.name = "张三";
      System.out.println(student.name);
      
    • 调用方法

      对象名.方法名([参数])

      student.study();
      

类和对象之间的关系

类是对象的集合,是抽象概念;对象是类的具体实例

通过 new 关键字创建(实例化)对象

一种特殊的类

POJO类

POJO(Plain Ordinary Java Object )简单的Java类。也叫做Java Bean类,或者实体类

主要用于描述数据,比如数据库中的记录

只有属性和get,set方法,没有其他的业务逻辑的方法

员工实体类(POJO)

public class Emp {
    String name;  //员工姓名
    int sex;  //员工姓名
    int age;  //员工年龄

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getSex() {
        return sex;
    }

    public void setSex(int sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

创建方法:

在这里插入图片描述

在这里插入图片描述

成员变量和局部变量的区别

成员变量

定义在类中的变量,也称为成员变量,也叫属性

它跟数组元素一样的,有默认,所以成员变量可以不初始化直接使用

作用域是整个类

//直接在类的大括号里面定义的变量叫成员变量也叫做属性
String brand;//品牌
String color;//颜色
int seat;//座位数

成员变量默认值:(和数组默元素认值相同)

数据类型默认值
整形0
浮点型0.0
布尔型false
字符型不可见字符(‘\u0000’)
引用类型null

局部变量

定义在方法中的变量,称为局部变量

局部变量没有默认值,所以必须先初始化,再使用

局部的作用域在它所在的大括号内有效

方法执行完后,局部变量就消失

int i = 0;
String str = "张三";
for (int j = 0; j < 10; j++) {
    
}

不可见字符(‘\u0000’) |
| 引用类型 | null |

局部变量

定义在方法中的变量,称为局部变量

局部变量没有默认值,所以必须先初始化,再使用

局部的作用域在它所在的大括号内有效

方法执行完后,局部变量就消失

int i = 0;
String str = "张三";
for (int j = 0; j < 10; j++) {
    
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值