【javaSE】 类和对象详解(上)

简介: 【javaSE】 类和对象详解(上)

面向对象的初步认知

什么是面向对象

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

面向对象与面向过程

举个例子

将大象放进冰箱

面向对象:打开冰箱-->将大象放进去-->关上冰箱

我们并不会去关心大象是怎么放进去的,而面向过程则会研究如何实现大象放进冰箱

再举个例子

传统洗衣服过程

当我们用手洗的时候,我们会有很多步骤,此时就是面向过程的

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

而且不同衣服洗的方式,时间长度,拧干方式都不同,处理起来就比较麻烦。如果将来要洗鞋子,那就是另一种放方式。

按照该种方式来写代码,将来扩展或者维护起来会比较麻烦

现代洗衣服过程

 

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

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

类定义和使用

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

上图左侧就是对洗衣机简单的描述,该过程称为对洗衣机对象(实体)进行抽象(对一个复杂事物的重新认知)

但是这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面相对象的编程语言来进行描述,比如:Java语言。

简单认识类

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

比如:洗衣机,它是一个品牌,在Java中可以将其看成是一个类别。

属性:产品品牌,型号,产品重量,外观尺寸,颜色...

功能:洗衣,烘干、定时....

在Java语言中,如何对上述的洗衣机类来进行定义呢?

类的定义格式

在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的基础上计算机就可以识别了

注意事项

类名注意采用大驼峰定义

成员前写法统一为public

此处写的方法不带 static 关键字.

练习定义类

定义一个狗类

首先我们得明白狗具有哪些属性

然后我们得知道我们在自己定义的狗类里,用什么来代表这些属性

最后我们就可以实现我们的类呢

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

定义一个学生类

学生类的属性如下

学生类实现

     class Student{
        public String name;
        public String gender;
        public short age;
        public double score;
        public void DoClass(){
            //实现相关功能
        }
        public void DoHomework(){
            //实现相关功能
        }
        public void Exam(){
            //实现相关功能
        }
    }

注意事项

1. 一般一个文件当中只定义一个类

2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)

3. public修饰的类必须要和文件名相同

4. 不要轻易去修改public修饰的类的名称

类的实例化

什么是实例化

定义了一个类,就相当于在计算机中定义了一种新的类型,与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();
    }
}

我们来看一下结果

这样我们就成功实例化了

相关文章
|
Java 编译器
【JavaSE】面向对象之多态
【JavaSE】面向对象之多态
|
Java 编译器
【JAVASE】类与对象 中
【JAVASE】类与对象
|
Java 编译器
【JAVASE】类与对象 下
【JAVASE】类与对象
|
存储 Java 编译器
【javaSE】 类和对象详解(下)
【javaSE】 类和对象详解(下)
|
8月前
javaSE&多态
javaSE&多态
39 1
|
安全 Java
【JAVASE】多态 下
【JAVASE】多态
|
Java 程序员 编译器
【JavaSE】面向对象之继承
【JavaSE】面向对象之继承
|
存储 安全 Java
类和对象【JavaSE】
类和对象【JavaSE】
84 0
|
存储 Java Android开发
【JAVASE】类与对象 上
【JAVASE】类与对象
|
Java 编译器
【JAVASE】多态 上
【JAVASE】多态

热门文章

最新文章

下一篇
开通oss服务