《JAVASE系列》 类和对象篇:初步认识类与对象

《JAVASE系列》类和对象篇:初步认识类与对象

前言

本章需要掌握的知识点:

  1. 掌握类的定义方式以及对象的实例化
  2. 掌握类中的成员变量和成员方法的使用
  3. 掌握对象的默认初始化

参考书籍:《JAVA核心卷1》

你若盛开,清风自来。

1.认识面向对象

1.1 面向对象是什么?

​ java是一门纯面向对象的编程语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的编程思想去设计程序,对与大型程序的设计与维护都是十分友好的。

1.2 面向对象与面向过程:

  1. 面向过程:

    面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现c语言就是一门面向过程语言。

    优点:性能高

    缺点:不易维护也不易扩展

  2. 面向对象

    面向对象是模块化的,在解决一个问题时,是直接用一块一块模块来分工解决的,一个模块实现一个功能,我们不需要知道模块的实现,只需要使用模块来解决我们的问题

    优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护。

    缺点:由于调用类的时候需要实例化对象,会消耗资源,在性能方面比面向过程差。

  3. 简单理解两者的区别:

    面向过程是我们想要吃饭,我们需要自己去买菜,洗菜,做饭等等

    面向对象是我们想要吃饭,我们去饭店直接吃饭就行。

2.类的定义

2.1类是什么?

类是对一个事物的抽象,类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性,哪些功能。

2.2类的定义格式:

class Classname{
    // 成员变量 (属性)
    // 成员方法 (行为)
}

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

类中包含的内容称为类的成员。属性主要是用来描述类的,方法是用来描述类的功能的。

例如:

定义一个微波炉:

class Microwave {
    public String brand; // 品牌
    public String type;  // 型号
    public double weight;// 重量
    public double lenght;// 长
    public double weidth;// 宽
    public double height;// 高
    public String color; // 颜色
    public void warm(){
        System.out.println("加热");
    }
    public void keep(){
        System.out.println("保温");
    }
}

代码风格要求: 类名采用大驼峰命名

方法名前面不再加上static,后面介绍。

注意:

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

  2. main方法所在的类一般要使用public修饰

    (注意:Eclipse默认会在public修饰的类中找main方法)

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

  4. 不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改

    如何修改:

    在这里插入图片描述

3.类的实例化

3.1实例化是什么?

定义了一个类,就相当于在计算机中定义了一种新的类型。本质上int double类型也是java的类型,但是它们是java内置的类型,而我们上面自定义的类Microwave是我们自定义的类型,有了自定义类型之后,我们就可以对类型进行实例化。

例如:

class Microwave {
    public String brand; // 品牌
    public String type;  // 型号
    public double weight;// 重量
    public double lenght;// 长
    public double weidth;// 宽
    public double height;// 高
    public String color; // 颜色
    public void warm(){
        System.out.println("加热");
    }
    public void keep(){
        System.out.println("保温");
    }
}
public class Main{
 public static void main(String[] args) {
    Microwave m1 = new Microwave();//通过new实例化对象
    Microwave m2 = new Microwave();//通过new实例化对象
    Microwave m3 = new Microwave();//通过new实例化对象
    Microwave m4 = new Microwave();//通过new实例化对象
    m1.weidth = 10;
    m1.lenght = 20;
    m1.color = "red";
    m1.warm();
    m1.keep();
     
 }

运行结果:

在这里插入图片描述

如代码,m1,m2,m3,m4就是我们对Microwave的实例化。

​ 同时我们也可以访问对象的成员。

注意:

  • new 关键字用于创建一个对象的实例。

    语法规则:

    类名 对象名 = new 类名();

  • 同一个类可以创建对个实例。

  • 使用 . 来访问对象中的属性和方法。

3.2类与对象的关系

  1. 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员.
  2. 类是一种自定义的类型,可以用来定义变量,但是在java中用类定义出来的变量我们成为对象.
  3. 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量.

java中以类为类型的变量是引用类型,存的是该对象的地址。

例如:

class Microwave {
    public String brand; // 品牌
    public String type;  // 型号
    public double weight;// 重量
    public double lenght;// 长
    public double weidth;// 宽
    public double height;// 高
    public String color; // 颜色
    public void warm(){
        System.out.println("加热");
    }
    public void keep(){
        System.out.println("保温");
    }
}
public class Main{
 public static void main(String[] args) {
    Microwave m1 = new Microwave();//通过new实例化对象
 }

在这里插入图片描述

3.3 成员变量的默认值

在JAVA的main函数中,变量不进行初始化是无法进行使用。

**在java的类中,成员变量并没有进行初始化就可以直接使用。**JVM虚拟机会给他们赋值一个默认值。如下:

在这里插入图片描述

代码示例:

class Microwave {
    public String brand; // 品牌
    public String type;  // 型号
    public double weight;// 重量
    public double lenght;// 长
    public double weidth;// 宽
    public double height;// 高
    public String color; // 颜色
    public void  print(){
        System.out.println(brand+" "+type+" "+weidth+" "+lenght+" "+weidth+" "+height+" "+color);
    }
}
public class test {
    public static void main(String[] args) {
        Microwave m1 = new Microwave();//通过new实例化对象
        m1.print();
    }
}

运行结果:

在这里插入图片描述

总结:

本章主要通过介绍面向对象的思想,以及面向对象与面向过程的差别,如何定义类和实例化对象,以及类成员变量的默认初始化。

感谢阅读!

与君共勉!
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小连~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值