admin 管理员组

文章数量: 1087649

我终于明白了!!!类、成员变量、方法、以及如何定义他们,还有static到底干啥用?

今天是大年初五呀,迎财神的日子!最近一直都忙着背英语单词,刷韩老师的课程,看《Java疯狂讲义》、看书

最近看了几本关于自我成长不错的书籍,也慢慢摆脱了追求阅读速度的急切心理,有句话感觉说得很好

“人类总是喜欢快速的学完知识,并且希望全部掌握。”

读完这句话里面就有一些的不好意思,说的不就是我吗?总是想赶紧学完并且还要求自己掌握所有的知识,不经常去回顾所学过的知识点,只是凭借着当时的记忆能记多久呢?

今天早上我看了《疯狂Java讲义》的第一章,发现自己竟然连Java到底是解释性语言还是编译类型语言都忘记了,果然还是要及时复习啊,不要偷懒!!!

言归正传!!

什么是类?

Java中提供了基本数据类型、引用数据类型,但是能实现的功能很少,于是我们就自己想:能不能由我自己定义一些功能并且使用呢?

于是类的产生了!!

  • 需要注意的是:类是一个引用类型,所以由类创建出来的对象(也就是类的实例),是一个引用变量,在引用变量中存储的是实际对象的地址值

  • 为什么要使用引用变量来访问实际的对象呢?

  • 因为在Java中规定:要访问实际的对象就只能通过引用变量的方法去访问,因为在实例化对象之后,实际上实例化的对象是没有名字的,所以只能通过引用变量来访问

说明:

这张图片里面的“=”,并不是代表相等的意思,而是在把实际的对象的地址值赋值给创建的引用变量

如何定义一个类?

  • 如图所示:

说明:

  1. 访问修饰符是可有可无的--->有没有访问修饰符都可以

  1. class关键字是必须要有的!!!只要有了class关键才表示定义的是一个类

  1. 类名要遵守的命名规则为:

  1. 类名应该是由多个有意义的单词组成的

  1. 第一个单词的首字母要大写,其它单词的首字母要小写

  1. 每个单词之间不需要有修饰符

一个类中可以有很多个成员变量,方法,构造器;这三者在一个类中并不是必须的,但一个类中h这三个一个都没有那就是一个空类,没有任何的意义

什么是成员变量?

定义在类中的变量叫做成员变量

需要注意的是:成员变量也分为两类

如上图所示

简单来说:实例变量就是不用static修饰的定义在类中的变量;而类变量也就是需要用static修饰的变量

并且使用static修饰的类变量不能访问实例变量

说明:

  1. 访问修饰符可有可无,不是必须的

  1. 数据类型可以是基本数据类型也可以是引用数据类型

  1. 变量名称的命名规则:

  1. 变量名称是由多个有意义的英文单词组成

  1. 第一个英文单词的首字母小写,其它单词的首字母大写

  1. 中间不能有任何修饰符

  •  有一些书(我的课本)里面把成员变量说成是“属性”,其实也没错啦~

  • 但是在Java中“属性”实际上指的是一对setter、setter方法

什么是方法?

运行结果为:

说明:

  1. 访问修饰符可有可无

  1. 方法的返回值可以是基本数据类型,也可以是引用数据类型

  1. 当使用基本数据类型和引用数据类型的时候,则必须使用return返回数值,否则报错

  1. 当使用void作为方法的返回值的时候,不需要用return语句

  1. 参数列表对应的是形参,实参指的是调用方法的时候传给形参的具体的数值

  1. 需要注意的是:实参是复制了一份,给了形参,实际上在main方法中的实参不会改变

  1. 方法名称跟成员变量的命名规则一样:

  1. 方法名称应该是由多个有意义的英文单词组成的

  1. 第一个单词的首字母要小写,其它单词的首字母要大写

  1. 方法体中有严格的先后执行顺序,排在前面的先去执行,写在后面的后去执行

运行结果为:

改变了name的数值,但是在输出的时候依然不会改变,因为实参是复制了一份给了形参,所以对实参进行改变再输出的话,依然不会改变在原来在构造器里的数值

static修饰符

static可以修饰成员变量、方法,被static修饰的成员(成员变量、方法)被称为静态变量、静态方法,也可以成为类变量、类方法

  • 与实例区别开的特点有:

  • 实例变量、方法是属于实例的,也就是随着实例的存在而存在,只要实例结束,实例变量、方法也就不在了

  • 类变量、类方法是属于类的,它的生长时期是根据类的存在而存在

  • 所以类成员的生存时间要比实例成员长

  • 用static所修饰的成员是被所有对象所共享的!!

  • Q:为什么要使用static?

  • A:使用static是为了区分实例变量、方法、内部类、初始化块

本文标签: 我终于明白了!!!类成员变量方法以及如何定义他们,还有static到底干啥用