Java|Java面向对象

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);//小明

    }

}

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:刘仕豪

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JAVA|Java方法的使用

    方法从简来说就是,把一个功能单独放在大括号内,当需要这个功能的时候我们直接调用方法,这样不仅实现了代码的复用,还解决了代码冗余的问题。

    算法与编程之美
  • 谈一谈|谷歌插件入门

    谷歌插件及ChormeExtensions是一个小型的程序,它可以修改并增强chrome浏览器的功能。可以使用web技术(如HTML,CSS,JavaScrip...

    算法与编程之美
  • 前端|BootStrap 布局组件

    <span class=“glyphicon glyphicon-home”></span>

    算法与编程之美
  • jvm介绍 day4

    数组对是在程序运行期间由jvm创建的而不是由类加载器加载的,调用数组的getClassLoader得到的结果是数组中对象所返回的结果,如果数组中的元素是原生类型...

    如来
  • Java作业-租车小系统

    乐心湖
  • Java基础-变量和数据类型

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • Java反射-高级开发必须懂的

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助。

    良月柒
  • 反射 — Java 高级开发必须懂的

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底层的操作会很有帮助。

    java思维导图
  • 腾讯Q2财报发布,一个字:稳!

    腾讯昨天公布截至二零一九年六月三十日止第二季及上半年未经审核综合业绩。上半年总收入为人民币1,742.86亿元,同比增长18%;第二季度总收入为人民币888....

    腾讯大讲堂
  • 感觉JVM的默认异常处理不够好,既然不好那我们就自己来处理异常呗!那么如何自己处理异常呢?

    * 如果程序出现了问题,我们没有做任何处理,最终JVM会做出默认的处理。 * 把异常的名称、原因及出现的位置等信息输出在控制台。同时会结束程序。 * ...

    黑泽君

扫码关注云+社区

领取腾讯云代金券