###########################################
前言:本次学习时间花费过久,还没有彻底搞懂,总来说还是没有好好利用时间。下次规定直播课,非必要问题必须上,隔天必须观看录播,并写下学习心得,然后一定得完成作业,不懂多问,持之以恒。
---------------------------------------------------------------------------------------------------------------------------------
本次学习:类与对象,重载,this关键字的使用,static关键字的使用,构造器的使用(有参构造器),final关键字,封装修饰符;
一:类与对象;(概念确实比较抽象,得多写,多看以获得更好地理解)
1:面向对象:编译整体,敏捷性更高;面向过程:编译一行运行一行,效率更高;
2:类:【特征】属性+【行为】方法;
创建一个类对象:类名+对象名=new+类名();
通过对象调用可以访问;
3,内存空间问题:电脑的内存实际上可以分为3个部分,堆空间,栈空间,以及方法区;
普通的变量以及一些给变量的赋值都是存放在栈空间,并且他会单独开辟独立空间进行存放;
而对象的属性则是生成一个模板,这个模板如果没有赋值则是(null),存放在堆空间;而栈空间存放的则是该属性在堆空间的位置信息;
而同一个类所存放的方法或行为,则都是存放在公用的方法区;想调用方法可以先创建一个对象,然后使用类名+方法名进行调用;
二.重载:重载作用:提高代码可读性,以及多次对函数命名同一名字;
可分为3种:1.参数的数量不同;study(int);study(int,int);
2.参数的数据类型不同;study(int,float);study(int;int);
3,参数数据类型的位置不同;study(int,float);study(float,int);
三,this关键字的使用;
1,因为方法区的方法是一个类所共用的,无法了解是哪个对象使用了方法,所以可以使用this关键字进行调用,this关键字在对象调用方法时可以化为一个指针从而准确知道是哪个对象调用了方法;方法后使用this.name+方法;
2,this关键字还可以访问到不同参数下属性;
四,构造器{没有返回值}
1,无参构造器:格式--权限修饰符 类名(){};默认构造器
2,有参构造器:权限修饰符 类名(数据类型 参数){};
可以通过有参构造器实现对一个对象的初始化;
调用方法this指针,this.属性=属性名称;
3,有参构造器和无参构造器是可以相互调用的;
使用this关键字进行调用,必须放在无参构造器的第一行;this(参数);
五,static关键字的使用
被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。
1,被static修饰过的变量被称为类的变量,相当与这个变量变成公共的,而在调用的时候则必须在类里调用而不能在对象里继续调用;
2.未被static修饰过的方法中去访问被static修饰过的变量是可以访问的,换过来则不行;
3,被static修饰过的方法还可以不用创建对象直接使用类名.方法进行调用;
4,静态方法只能访问静态成员(静态成员即静态成员变量和静态方法)。即被static修饰过的方法
六,final关键字;
1,被final修饰的成员变量,一定要被赋值且只能被赋值一次,且必须是在这个成员变量所在的类对象创建之前被赋值。
2, 被final修饰的变量,又被称为自定义常量。常量的意思是不会被改变的量。所以,被final修饰的变量即自定义常量是不能被改变的(只能被赋值一次,后续不能更改)。