一、前情回顾
在Java类与对象1中,我们学习了类的概念,如何让创建类。什么是成员变量(属性),什么是成员方法(行为),怎么在类中调用它们,以及public,default,private三个权限操作符。详细可以学习日记:java——类与对象1-CSDN博客点击这个蓝色字体,进入类与对象1.
二、本节目标
认识并能写出封装,包,static,代码块,打印对象相关代码。
三、什么是封装?
说起封装就不得不提起面向过程,面向对象两种思想。
1、什么是面向过程、什么是面向对象?
简单来说面向过程就是做一件事的时候,每个步骤都亲力亲为。面向对象可以理解为偷懒,找一个能做这件事的人帮我们。比如计算两个数相加。
这两个数字的相加需要我们一点一点进行才能算出结果,这就是面向过程。
这种找Add这个大数学家来解决两个数相加的问题,而不自己一点一点算就是面向对象。
2.封装
封装就是使用权限操作符对Add具体解决步骤进行修饰(修饰成员变量,成员方法等),隐藏细节防止他人抄袭。
四、什么是包?
可以理解为文件夹。将我们所写的代码按照种种分类规则放在不同的文件夹中,这些放代码的文件夹就是包。
在IDea中对src鼠标右键——》新建(第一行英文)——》软件包(package)——》对包命名
即可创建一个包。
private修饰的东西只能在同一个包中的同一个类中直接使用(间接使用方法在类与对象1中)。
public修饰的东西可以在任意地方使用。
default有些特殊,明天或后天讲。
五、static
static(静态的),在Java中被static修饰的成员叫做静态成员或者类成员,不归某个对象,属于类中的所有对象!!!
使用static修饰的成员变量需要该成员变量所在的类名.该成员变量。也可以通过对象.该成员变量来使用
我并没有给stu1和stu2赋值有关classroom的值,却输出了一样的值这也说明了,静态成员(类成员)不归某个对象,属于类中的所有对象!!!
同理被static修饰的成员方法(行为)叫做类方法,类方法也是类的方法。
一样使用static修饰的成员方法需要该成员方法所在的类名.该成员方法。也可以通过对象.该成员方法来使用。
不过需要注意的是,在静态方法中不能使用非静态成员。
但可在非静态方法中引用静态成员。
========================== 分割线 ===========================
编译器并没有给static修饰的成员变量的构造函数,那么我们该怎么初始化类成员呢?
有两种方法,第一种方法是.、就地初始化。
就像这样在定义的时候就将其初始化。
第二种方法:代码块初始化。代码块我们现在还不知道什么,下面先介绍代码块。
六、代码块
代码块是指用{ }定义的一段代码,有普通代码块,构造代码块(实例代码块),静态代码块三种。
普通代码块:定义在普通方法里的代码块。
红框内的代码即可叫普通代码块。
构造代码块(实例化代码块):定义在类内且没有修饰符的代码。一般用于初始化静态成员变量
。
红框内的代码即可叫构造代码块(实例化代码块)。
静态代码块:定义在静态方法内的代码。一般用于初始化类变量。
对三种代码块按照前后顺序不同来执行。
我们发现不管顺序怎样,都是静态代码块——》实例化代码块——》普通代码块的顺序来执行。
对其多次执行得出,静态代码块只会执行一次,其余两种代码块可以多次执行。
七、类的打印
鼠标右键——》生成——》toString() 即可
八、作者的话
这篇日记也是对所学的知识的回顾,若有错误欢迎评论区指正。另外昨天的日记,我没想到有那么多朋友点了赞,收了藏,同时给我点了关注。在此十分感谢大家对我的支持,也希望我的日记能给您一丢丢的帮助。