JavaSE 类与对象

前言

我们之前学的都是面向过程,面向过程研究的是对单个对象的一种方法实现过程,比如求一个数的阶乘,强调的是怎么实现这个方法的过程,但对我们以后来说,如果想要应用到更广的层面,不能只是学习一个方法的过程,而是通过用对象的方法与其他对象建立联系来实现一个项目,那么怎么让对象与对象建立联系呢?我们就需要学习面向对象的相关知识。

1. 面向对象的初步认知

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

传统的方式:注重的是洗碗的过程,少了一个环节可能都不行,按照该种方式来写代码,将来扩展或者维护起来会比较麻烦。
2. 现代洗碗过程
总共四个对象:人 碗 洗洁精 洗碗机
整个过程就人打开洗碗机,把碗放到洗碗机,放洗洁精,关上洗碗机,洗碗机自己把碗洗完然后烘干。
整个过程就人,碗,洗洁精,洗碗机这四个对象相互完成,不需要管洗碗机是怎么把碗洗干净的,怎么烘干的。
在这里插入图片描述
以面向对象方式来进行处理,就不关注洗碗的过程,具体洗碗机是怎么来洗碗,如何来烘干的,用户不用去关
心,只需要将碗放进洗碗机,倒入洗洁精,启动开关即可,通过对象之间的交互来完成的。
注意:面向过程和面相对象并不是一门语言,而是解决问题的方法,没有那个好坏之分,都有其专门的应用场景。

2. 类定义和使用

2.1 简单认识类``
就我而言,类是指描述一个物品的大致摸样,是一个比较抽象的东西,类是不实的,也可以说是一个抽象的概念。
百度百科:java类就是具备某些共同特征的实体的集合,他是一种抽象的数据类型,它是对所具有相同特征的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。
那么在java中怎么去定义一个类?
2.2 类的定义格式
在java中定义类时需要用到class关键字,具体语法如下:

class Dog{
   
	//成员变量   属性   字段
	public String name;
	public int age;
	public String colour;
	//成员方法
	public void eat() {
   
	System.out.println("正在吃..........");
	}
	public void barks() {
   
	System.out.println(name + ": 旺旺旺~~~");
	}
}

class为定义类的关键字,Dog为类的名字,{}中为类的主体。
类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法。
注意事项:
类名注意采用大驼峰定义
成员前写法统一为public,后面会详细解释
此处写的方法不带 static 关键字. 后面会详细解释

3. 类的实例化

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

用代码实现在狗类中实例化一个狗的对象:

class Dog {
   
    //成员变量 属性  字段
    String name;
    int age;
    String colour;
    //成员方法
    public void eat() {
   
        System.out.println(name+"正在吃............");
    }
    public void barks() {
   
        System.out.println(name+"正在汪汪汪.........");
    }
    public void wag() {
   
        System.out.println(name+"正在摇尾巴.........");
    }
}
public class Test {
   
    public static void main(String[] args) {
   
        Dog dog = new Dog();
        dog.name = "旺财";
        dog.age = 2;
        dog.colour = "黑色";
        dog.wag();
        dog.eat();
        dog.barks();
    }
}

在这里插入图片描述
在main方法中创建一个dog对象,通过dog.成员方法去访问Dog类中的成员方法,运行出来的结果:
在这里插入图片描述
类中的成员变量是存储子在堆的实例化空间,每一个对象都有一个私有的实例化变量空间。当对象被创建时,它的实例化变量就会被初始化࿰

评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

《冰美式与三明治》

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

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

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

打赏作者

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

抵扣说明:

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

余额充值