本文介绍: Java是一门纯面向对象语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象面向对象解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序设计扩展以及维护都非常友好。面相对程序设计关注的是对象,而对象是现实生活中的实体洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉给计算机什么是洗衣机。

 

目录

1、面向对象的初步认知

1.1、什么是面向对象

1.2、面向对象与面向过程

 2. 类定义和使用

2.1、简单认识类

2.2、类的定义格式

2.3、自定义类举例说明

2.3.1、定义一个狗类 

2.3.2、定义一个学生类

3、类的实例化

3.1、什么是实例化

3.2、类和对象的说明

 

1、面向对象的初步认知

1.1、什么是面向对象

Java是一门面向对象语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象面向对象解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序更符合人们对事物的认知,对于大型程序设计扩展以及维护都非常友好。

1.2、面向对象与面向过程

举例说明

1、传统洗衣服的过程

传统的方式:注重的是洗衣服的过程少了一个环节可能都不行

而且不同衣服洗的方式时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另一种放方式。按照该种方式来写代码,将来扩展或者维护起来会比较麻烦

 2、现代洗衣服过程

总共有四个对象:人、衣服、洗衣粉、洗衣机

整个洗衣服的过程:人将衣服放到洗衣机,倒入洗衣服,启动洗衣机,洗衣机就会完成洗衣服过程并且甩干,整个过程主要是通过人、衣服、洗衣粉、洗衣机四个对象之间交互完成的,人不需要关心洗衣机具体是如何洗衣服的,如果甩干的。

面向对象方式来进行处理就不关注洗衣服的过程,具体洗衣机是怎么来洗衣服,如何来甩干的,用户不用去关心,只需要将衣服放进洗衣机,倒入洗衣粉,启动开关即可通过对象之间的交互来完成的。

注意:面向过程和面相对象并不是一门语言,而是解决问题方法没有那个好坏之分,都有其专门的应用场景

 2. 类定义使用

相对程序设计关注的是对象,而对象是现实生活中的实体比如洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉给计算机什么是洗衣机。

上图左侧就是对洗衣机简单描述,该过程称为对洗衣机对象(实体)进行抽象(对一个复杂事物的重新认知),但是这些简化的抽象结果计算机也不能识别开发人员可以采用某种面相对象的编程语言来进行描述比如Java语言

2.1、简单认识类

类是用来一个实体(对象)来进行描述的,主要描述实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机可以识别了。

2.2、类的定义格式

java定义类时需要用到class关键字,具体语法如下

    // 创建class ClassName{
        field; // 字段(属性) 或者 成员变量
        method; // 行为 或者 成员方法
    }

class定义类的关键字,ClassName为类的名字,{ }中为类的主体

类中包含内容称为类的成员属性主要是用来描述类的,称之为类的成员属性或者类成员变量方法主要说明具有哪些功能,称为类的成员方法。

    class WashMachine{
        public String brand; // 品牌
        public String type; // 型号
        public double weight; // 重量
        public double length; // 长
        public double width; // 宽
        public double height; // 高
        public String color; // 颜色
        public void washClothes(){ // 洗衣服
            System.out.println("洗衣功能");
        }
        public void dryClothes(){ // 脱水
            System.out.println("脱水功能");
        }
        public void setTime(){ // 定时
            System.out.println("定时功能");
        }
    }

采用Java语言将洗衣机类在计算机定义完成,经过javac编译之后形成.class文件,在JVM的基础上计算机可以识别了。 

2.3、自定义类举例说明

2.3.1、定义一个狗类 

    class PetDog {
        public String name;//名字
        public String color;//颜色
        // 狗的属性
        public void barks() {
            System.out.println(name + ": 旺旺旺~~~");
        }
        // 狗的行为
        public void wag() {
            System.out.println(name + ": 摇尾巴~~~");
        }
    }

2.3.2、定义一个学生

 

    public class Student{
        public String name;
        public String gender;
        public short age;
        public double score;
        public void DoClass(){}
        public void DoHomework(){}
        public void Exam(){}
    }

3、类的实例

3.1、什么是实例

定义一个类,就相当于在计算机定义了一种新的类型,与int,double类似,只不过int和double是java语言自带内置类型,而类是用户自定义一个新的类型比如上述的:PetDog类和Student类。它们都是类(一种新定义类型)有了这些自定义类型之后,就可以使用这些类来定义实例(或者称为对象)。

用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名实例化对象。

    public class Main{
        public static void main(String[] args) {
            PetDog dogh = new PetDog(); //通过new实例化对象
            dogh.name = "阿黄";
            dogh.color = "黑黄";
            dogh.barks();
            dogh.wag();
            PetDog dogs = new PetDog();
            dogs.name = "阿黄";
            dogs.color = "黑黄";
            dogs.barks();
            dogs.wag();
        }
    }

 输出结果

阿黄: 旺旺旺~~~
阿黄: 摇尾巴~~~
赛虎: 旺旺旺~~~
赛虎: 摇尾巴~~~

3.2、类和对象的说明

  1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
  2. 类是一种自定义的类型可以用来定义变量
  3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间存储成员变量
  4. 做个比方。类实例化出对象就像现实中使用建筑设计建造房子,类就像是设计图,设计出需要什么东西,但是并没有实体建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据占用物理空间。

 

 

博主推荐

 【LeetCode力扣】42. 接雨水-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/134104222?spm=1001.2014.3001.5502

【LeetCode力扣】189 53 轮转数组 | 最大数组和-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/134095703?spm=1001.2014.3001.5502

【Java】JDK 21中的虚拟线程以及其他新特性-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zzzzzhxxx/article/details/133986696?spm=1001.2014.3001.5502 

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新最大动力!

如果觉得作者写的不错,求给博主一个大大的点赞支持一下,你们的支持是我更新最大动力!

 

原文地址:https://blog.csdn.net/zzzzzhxxx/article/details/134232584

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_19637.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注