1 什么是面向对象

百度上解释面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

面向过程就是我们需要实现一个功能的时候,我们需要实现功能的每一个步骤都需要自己来写,相对的面向对象则是,在java里我们需要实现一个功能,我们直接从JDK调用现成的类,比如在执行数组相关操作时,我们直接调用Arrays里的相关方法就是面向对象,而我们自己写代码来实现就是面向过程。

用现实生活中的例子来说明一下,比如我们下班回家吃完饭,正常只有一个人的时候就是:下班回家->买菜->煮饭->炒菜->吃->收拾清理。这就一步一步强调了下班回家后要吃上饭的过程,这就是面向过程。有女朋友的人下班回家后想吃饭的步骤则是:下班回家->告诉女朋友自己想吃饭->吃。这就是面向对象,这里就主要强调了一个会做饭洗碗的对象,即我们从执行者变成了指挥者,帮我们做事情的就叫对象。

2 类的定义以及与对象的关系

我们每用java写一个程序,都会定义一个类,java作为一门面向对象编程语言,那类与对象的关系会是什么呢。我们先清楚什么是类和对象,类是一组相关属性和行为的集合,这个集合里可能就会存在某一事物的属性以及这一事物可以干什么事情,对象就是这个事物的具体表现,即类是抽象的,对象是具体的,类是对象的模板,对象是类的实体。

我们定义类可以用来模拟一些现实事物,比如我们可以用一个Student类来模拟一个学生,在这个类里就会包含学生的属性以及学生可以干什么事情,这里的属性就是成员变量,能干什么事情就是成员方法,如下

public class Student {

    /*

    属性(成员变量):年龄,性名

    会干什么事情(成员方法):上课,写作业

    */

 

    String name;//姓名

    int age;//年龄

 

    //写作业

    public void dowork() {

        System.out.println("做作业");

    }

   

    //上课

    public void study(){

        System.out.println("上课!");

    }

}

其中只需要注意成员方法不需要加关键字

3 对象的创建即使用

上面我们成功地定义了一个学生类,一般来说,一个类不能直接使用,我们需要用这个类创建一个对象来进行使用,一般会有以下三个步骤:

1.导包:就是指出需要使用的类在哪一个位置,格式一般为import 包名称.类名称,对于和当前类属于同一个包的时候,导包语句可以不写。

2.创建:按照格式创建对象,格式一般为 类名称对象名 = new 类名称(),用上面的Student来创建就是Student stu = new Student(),这里的stu就是我们新创建的一个对象名。

3.使用。根据对象名来使用成员变量和成员方法,想用谁,就对象名加一个点,再加对应的成员名和方法名。

下面我们就是用上面定义好的类来创建的一个方法,其中我的两个类在一个包下,我就省略了导包这一步。

public class myobject {

 

    public  static void main(String[] args) {

         Student stu = new Student();

         System.out.println(stu.age);//0

         System.out.println(stu.name);//null

         stu.dowork();//做作业

         stu.study();//上课!

 

         stu.name = "小明";

        stu.age  = 10;

         System.out.println(stu.age);//10

         System.out.println(stu.name);//小明

    }

}

以上就是笔者想要分享的面向对象学习记录,欢迎大家加入算法与编程之美一起讨论