【JAVASE】类与对象 上

简介: 【JAVASE】类与对象

1. 面向对象


1.1 什么是面向对象

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。


面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。 用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。


1.2 面向对象与面向过程

举个例子说明一下:


传统的洗衣方式,需要我们亲力亲为,准备一盆水 --> 放衣服 --> 放洗衣粉 --> 洗衣服 --> 换水 --> 拧干 --> 晾衣服,过程很多,少了一个环节可能都不行。


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


现代洗衣方式以面向对象方式来进行处理,就不关注洗衣服的过程。

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


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


2. 类的定义与使用


2.1 简单认识类

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


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

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

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


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


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


注:


  • 类名注意采用大驼峰定义
  • 成员前写法统一为public
  • 此处写的方法不带 static 关键字

实例:定义一个 小狗 类

80dca79ec4e0199b1d522b68b3eccbf1_86424fe0148f4d7590faa898ae68e1ed.png


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

实例2:定义一个 学生 类


65f25fe02f30c9c517f90cc6c9f4e2fc_64c6013dfcb1487281031b8118154ae5.png


public class Student{
  //属性
  public String name;//姓名
  public String gender;//性别
  public short age;//年龄
  public double score;//学分
  //方法
  public void DoClass(){}//上课
  public void DoHomework(){}//写作业
  public void Exam(){}//考试
}

注:


  • 一般一个文件当中只定义一个类
  • main 方法所在的类一般要使用 public 修饰(注意:Eclipse默认会在 public 修饰的类中找 main 方法)
  • public 修饰的类必须要和文件名相同
  • 不要轻易去修改 public 修饰的类的名称


3. 类的实例化


3.1 什么是实例化


定义了一个类,就相当于在计算机中定义了一种新的类型,与 int,double 类似,只不过 int 和 double 是 java 语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的: PetDog 类和 Student 类。

它们都是类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。


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


67ef7c86d14dc2d1c5640f1cebc74629_0a40c550063d455fa8d5336e51284556.png


public class oop {
        public static void main(String[] args) {
            PetDog dogh = new PetDog(); //通过new实例化对象
            dogh.name = "Jack";
            dogh.color = "黑色";
            dogh.barks();
            dogh.wag();
            PetDog dogs = new PetDog();
            dogs.name = "Peter";
            dogs.color = "棕色";
            dogs.barks();
            dogs.wag();
        }
}
class PetDog {
    // 狗的属性
    public String name;//名字
    public String color;//颜色
    //狗的行为
    public void barks() {
        System.out.println(name + ": 旺旺旺~~~");
    }
    public void wag() {
        System.out.println(name + ": 摇尾巴~~~");
    }
}

🍤 运行结果:

8fe3095e44cc1368e44dfdbb356a3633_cb7d6d650bed4e9cb335da1d041dab8a.png


注:


  • new 关键字用于创建一个对象的实例
  • 使用 . 来访问对象中的属性和方法
  • 同一个类可以创建对个实例


3.2 类和对象说明


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

相关文章
|
Java 编译器
【JAVASE】类与对象 下
【JAVASE】类与对象
|
Java 编译器
【JAVASE】类与对象 中
【JAVASE】类与对象
|
存储 Java 编译器
【javaSE】 类和对象详解(下)
【javaSE】 类和对象详解(下)
|
安全 Java
【JAVASE】多态 下
【JAVASE】多态
|
6月前
|
Java 编译器
JavaSE学习之--类和对象(三)
JavaSE学习之--类和对象(三)
45 0
|
6月前
|
存储 Java 编译器
JavaSE学习之--类和对象(二)
JavaSE学习之--类和对象(二)
45 0
|
6月前
|
存储 Java 编译器
JavaSE学习之--类和对象(一)
JavaSE学习之--类和对象(一)
51 0
|
11月前
|
Java 程序员 编译器
【JavaSE】面向对象之继承
【JavaSE】面向对象之继承
|
存储 安全 Java
类和对象【JavaSE】
类和对象【JavaSE】
79 0
|
Java Android开发
【javaSE】 类和对象详解(上)
【javaSE】 类和对象详解(上)
下一篇
无影云桌面