Java面向对象入门的理解

首先要清楚类和对象的关系,以及他们数据成员和成员函数的意义:
先来个抽象一点的感受一下—>_—>
在这里插入图片描述
也就是说,类是对象的抽象,而对象是类在现实中的实体,这个实体可以是任何东西,人,物,抽象概念等等

先来一个比较经典的容易理解的经典例子!
我们要模拟一只猫,就要先对一只猫进行抽象,它有名字,会叫,分别对应这只猫的属性和行为,在代码里面,我们分别定义为字符串数据name,也即它的名字;和无参方法,cry,也就是叫的行为,方法里面是输出叫声
然后再主方法里面创建一个猫的对象,并且起一个名字,然后调用叫的方法即可
在这里插入图片描述

在步入主题之前,再用一个稍难的例子,介绍一下静态函数与类的成员函数的区别(直接上图):

这是他们调用方式上的区别,显然:如果函数定义为static,那么不需要创建“类的对象”就可以直接 函数 调用或者通过 类名.函数。

在这里插入图片描述

那个创建一个类需要什么呢?仍然用这个较难的例子

首先创建一个类Matrix,即矩阵
一下给出代码的含义,这就是实体的抽象的结果,矩阵实体被分为数据(属性),构造(构成要素),方法(行为)
首先说明这里的this的含义,this就可以理解为 自己,因为构造函数传递过来的m和自己的属性m不一样,为了区别,this.m就是自己的m,而另一个m是构造函数的形式参数。
在这里插入图片描述
那么如何根据矩阵抽象类型创建一个实体呢?
你可以在另一个类Test的main函数里面,或者Matrix的main函数里面写入以下代码(当然,任何函数里面都可以):

int[][] element = {{1, 2, 3},{6, 5, 4},{8 ,9 ,7}};
Matrix matrix = new Matrix(3, 3, element);
//与上述构造方法对应,传入行数3,列数3,矩阵元素的数组element,用于构造一个矩阵。当如此操作之后,matrix的属性row就等于3,column等于3,元素element就等于这里的element。

可见,刚刚的矩阵类也可以作为一种数据类型了,这就是引用类型,之前学习的int,double, char都是基本类型,而学习数组的时候有用过new,比如
int[] array = new array[3];,数组也是引用类型,new就是创建一个数组实体的意思。

然后可以通过 . 来调用这个矩阵实体的对象的属性

System.out.println("矩阵的行数是 "+matrix.rows);
System.out.println("矩阵第3行2列的元素是: "+ matrix.element[2][1]);

输出的结果是:
矩阵的行数是 3
矩阵第3行2列的元素是: 9

以上是查询矩阵的属性的过程,您也可以在Matrix里面(不是main函数里面就行)写入一下方法作为矩阵的行为:设置某个元素的数值

public void set(int i, int j, int x) {
		if (i >= 0 && j >= 0 && i < this.rows && j < this.columns)
			this.element[i][j] = x;
		throw new IndexOutOfBoundsException("i="+i+", j="+j);
}

然后主函数里面
matrix.set(2, 2, 4);
这样就把矩阵的第三行第三列的元素设置为了4

System.out.println(matrix.element[2][2]);
结果为4

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值