前言:JAVA是一种面向对象的程序设计语言,对象是由类抽象出来的,所有的问题都是通过对象来处理,对象可以操作类的属性和方法来解决问题,所以了解对象的产生、操作和消亡是十分必要的
对于我们初学者来说,我相信你看完前言你脑子一定还是懵的,什么玩意?我还是看不懂啊!那我先给你简述一下:面向对象的设计离不开类和对象。下面我们来一步一步的来了解面向对象。
一.类和对象
1.类与对象的理解
类是对现实生活中一类具有共同属性和行为的事物的抽象。
对象是能够看得见摸得着的真实存在的事物。
比如说熊就是类,熊二就是熊的一个对象,当然了熊大也是熊这个类的一个对象
2.类与对象的关系
通过对类和对象的理解,我们可以知道两者之间的关系:类是对事物的一种描述,对象则为具体存在的事物
3.类的定义
⑴类的组成
①属性(成员变量):指事物的特征
②行为(成员方法):指事物可以进行的行为
⑵格式:public class 类名{
成员变量
成员方法
}
如图:我们创建了一个猫类,里面有它的属性name和age,以及它的行为catchmouse和sleep
⑶对象的使用
创建了类,那么我们就要创建该类的对象去访问其中的成员变量以及成员方法
①创建对象的格式
类名 对象名=new 类名();
②调用成员的格式:
成员变量: 对象名.成员变量
成员方法: 对象名.成员方法();
如图:在测试类中,我创建了一个猫的Tom对象,并调用了其中的成员变量及方法
二.成员变量与成员方法
1.成员变量与局部变量
在上面我们知道了成员变量就是所描述类的属性,在类中方法外。那么顾名思义,局部变量就是方法内部的变量。
⑴两者的区别
①类中位置不同:成员变量(类中方法外)局部变量(方法内部或方法声明上(方法的参数))
②生命周期不同:成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,随着方法的调用完毕而消失)
③初始化值不同:成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义赋值才能使用)
注:如果我们想要在调用方法时声明所创建对象的属性,那么就把成员变量添加到方法中。
如图:我想要在调用Tom的成员方法时展现出Tom的属性,那么我就把Cat类中的成员方法中加上了局部变量,再次运行
2. 初识this关键字
this修饰的变量用于指代成员变量
比如在成员方法中假如方法传来参数name,那么我就可以用this.name来代表成员变量,name就代表局部变量
3.构造方法
⑴概述
构造方法是一种特殊的方法,主要是完成对对象数据的初始化
⑵格式
①空参构造
修饰符 class (){}
如图:空参构造就是创建对象后,对象属性自动初始化为空null,后面可再进行赋值
注:若类中没有写空参构造,系统会默认给出一个空参构造
②带有参数的构造
修饰符 class (参数){}
带有参数的构造方法就是在创建对象时一并初始化数据
如图:构造方法中的参数name是创建对象时外界传来的参数,this.name就是成员变量,this.name = name表示的就是把外界传来的参数name赋值给所创建对象的name
4. private关键字
private的汉语意思是私有的,自私的,那么我们可以知道他的作用肯定是和自私有关的
⑴概念
private是Java的一类修饰符,可以修饰成员变量和成员方法,被private修饰的成员是私有的,只能在本类中进行访问
如果我们不想让外界访问成员变量,那么我们就要将成员变量私有化,这样外界就无法访问
如图:我将成员变量私有化,在测试类中创建对象再次调用成员变量,程序不用运行就直接报错
我们创建对象就是为了使用其中的属性和方法的,这样私有化了之后我们就无法进行访问,无法访问的对象那还有什么意义呢?
因此,私有化成员变量之后若想再次访问,就要提供对应的get和set方法
⑵get和set获取私有化成员变量
①set获取外界传入的变量参数
②get返回set赋值后的成员变量
私有化的成员变量,这样经过set和get方法之后,外界就可以进行访问了
看到这你是不是满脸疑惑,诶?你这是不是闲的慌啊,私有化再获取访问,那我直接不私有化不是可以更方便访问吗?代码还更少。少年别急,往下看!
5.构建标准JavaBean
我们在书写类时有一套标准,这样的一套标准书写规范可以让我们的代码更为简洁,更为整齐,看后让人心情愉悦。哈哈
⑴标准类构造
①类名见名知意
② 成员变量使用private修饰
③ 提供至少两个构造方法,无参构造方法和带全部参数的构造方法
④ 提供每一个成员变量对应的setXxx()/getXxx()
⑤ 如果还有其他行为,也需要写上
⑵如何快速构造一个标准的JavaBean类
自己写代码很累,那么让自己心爱的idea帮你写代码,那你是不是就会很开森( ͡° ͜ʖ ͡°)✧
快捷键Alt+Insert,当然前提是已经写好了带private修饰的成员变量
①构造方法
Alt+Insert选择第一个,按两次Tab,再按Ent(空参构造)
Alt+Insert选择第一个,Crtl+a全选,再按Ent(有参构造)
②get和set方法
Alt+Insert选择第四个,Crtl+a,再按Ent
6.this修饰的变量
在上面我们只是初步了解了this所修饰的变量,我们学完构造方法以及get和set方法后,发现其中都有this关键字,那其中的this都代表着什么?
①用于构造方法中的this
代表构造方法正在初始化的那个对象
②用于get和set方法中的this
谁调用这个方法,this就代表谁
因此我们可以知道this的含义:
this代表所在类的当前对象的引用(地址值)
若有不足,错误指出,望指出更正₍˄·͈༝·͈˄*₎◞ ̑̑