兔哥说Java - 成员变量设计

一个java类里面有什么,无非就是属性和方法,属性是根据业务需求来的,并且你才是做决定的那个人。

1.一个java类里面有什么

一个java类,首先是来源于某个业务的抽象。比如你要做一个会员VIP系统,那么是不是得有会员?

会员的前提是客户,那么就是两个不同的概念,但是客户包含了会员。我们先不整那么多,就说客户的概念。

客户是我们口头说的一个概念,大家都知道他是什么意思。那么,如何用oop的思想去把现实中的客户变成代码呢?

代码,什么代码,自然是java代码。

java代码写在哪里,自然是.java的文件里。

我们用class关键字来声明一个类,类里面要写什么呢?答:要写成员变量和成员方法。

写什么成员变量呢?别急,下个步骤就告诉你。

设计成员变量

先不谈语法,我们先来聊天。

写什么成员变量呢?

我推荐大家用一个口诀,就是问问自己,这个概念有没有什么数据是我感兴趣的呢?这个数据就是类的基本属性。

比如,客户,我想要知道客户的名字,性别,生日。这三个都是基本属性。记住,每一个属性是需要作为程序员的你,来亲自设计的。

是你来设计的,你才是设计师。你设计成员变量,不是为了学习java知识,也不是为了应付学校老师的作业,更不是为了写这篇文章的我。

一切都是为了你自己,你觉得需要加这个字段,那你就加。不要盲目地加,你要说出你为什么要加。

比如我问你,你为什么要记录客户的生日呢?你可以说,客户都是我们的潜在会员,我知道他的生日,就可以在他生日那天给他发短信祝福,如果他到店就餐,我还可以给他折扣和过生日 。他一感动,可能就直接办VIP会员卡了。

“嗯,既然如此,那你怎么联系到他呢?”

“哦对了,我还要加一个手机号码字段。”

如果你们单位有产品经理,那么这些事情可以由他去做。但是更多的情况是,产品经理只是知道大概的需求和某些细节,具体程序怎么设计,还是要你去做的。

Customer类

class Customer {
	String name;		// 客户姓名
	String sex;		//性别
	String birthDate;	//生日
	String phoneNumber;	//电话号码
}

String代表字符串,字符串是Java中的一个特殊的类,也是一种数据类型,可以保存文字方面的信息。

客户的状态

第二个设计成员变量的口诀,就是你要想想这个概念体可能会有哪些状态?

比如客户是否正常?正常就是客户经常会到店消费,那么这类客户就是需要重点关注的,我们的目标就是下次说服他办卡。不正常是啥意思呢,比如客户来店里闹事,那么这种客户你觉得还有必要劝他办卡吗?你劝他也不可能办的啊。

这种的话就可以设置不正常状态,程序的设计思路就是会有一个int类型的status字段,1代表正常,2代表不正常。

当然,这个也是根据实际情况的,我不是逼你要加这个状态,如果你的系统不需要,那你就不设置。
int status; //客户状态(1:正常,2:不正常)
int是数值类型,java中的int占4个字节。

什么是字节?

字节(Byte)是存储数据的基本单位,并且是硬件所能访问的最小单位。
内存里面有很多“小格子”,每个“格子”中只能存放一个 0 或 1。一个“小格子”就是一位,所以“位”要么是 0,要么是 1,不可能有比位更小的单位。那么字节和位是什么关系呢?8 个“小格子”就是一字节,即一字节等于 8 位。

常见的存储单位主要有bit(位)、B(字节)、KB(千字节)、MB(兆字节)、GB(千兆字节)。它们之间主要有如下换算关系:

1B=8bit ---- 这个是字节
1KB=1024B
1MB=1024KB
1GB=1024MB

其中 B 是 Byte 的缩写。

比如计算机的内存是 4GB,那么它能存放多少个 0 或 1(即能存放多少位)呢?4×1024×1024×1024×8 位。

当你在类中写了一个int类型的属性,到时候如果这个类被实例化,就会像内存申请4B的空间。

1KB = 1024B = 256个int

1MB = 1024KB = 1024 * 256 个int

假如一首mp3歌曲的容量是1MB,你哪天在一个类里面写了26万个int类型的成员变量,那么在这个类被实例化的时候,就相当于占据了一首歌的空间。

由此可见,int对于现在的计算机内存来说,也是毛毛雨啦。

总结-什么是成员变量

成员变量就是写在java类的{}里面的变量,变量的声明方式为:数据类型[空格]变量名称。

java中有八种基本数据类型,这一节我们学习了int,注意,String虽然用起来跟基本数据类型差不多,但它却不是基本数据类型。

随着课程的深入,我们会遇到越来越多的数据类型。

变量就是可变的量,命名用英文就可以了,不要用数字或者特殊符号开头。其他就不说了,不然就成了照本宣科。

转载自:http://java18.cn/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剽悍一小兔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值