类与对象的初步了解
在初级阶段里,我们所敲出的代码大多数过程都是在“面向过程”。
打个比如,面向过程,就像是我们在手洗衣服,需要自己参与洗衣的过程,而面向对象,像是在用洗衣机洗衣服,此时我们是在关注对象,并不用直接参与洗衣服。
注:private只能在当前的类使用
面向过程:找对象,创建对象,使用对象
面向对象三大特征:封装,继承,多态
可以通过this访问当前对象的成员变量
可以通过this访问当前对象非静态的成员方法
可以通过this访问当前对象的其它“构造方法”
(构造方法:构造方法的方法名要和类名一样,构造方法可以发生重载,不止一个,构造方法作用就是用来初始化)
注:this 不能在静态方法中运用,this用来调用当前对象的其他结构方法的时候,必须在第一行
关于 “package”(包)
包(package)可以理解为一个文件夹,相同文件夹里面的类可以互相访问
注:在Java中,如果两个类位于同一个包内,它们可以相互访问默认权限(即无访问修饰符)和受保护(protected)的成员。然而,对于私有(private)成员,即使是同一包内的类也无法访问。
关于 “static”(静态)
被static修饰的成员不属于对象,静态的成员只有一份,且存在方法区当中
static方法当中不能使用this关键字
哪个访问方法更好?(两种方法都可以访问)
前提:静态的成员变量也被叫为“类变量”,也就是说这个变量属于类,而不是对象
非静态方法当中可以调用静态方法或者静态的成员变量
通过类名访问(这样的访问格式更合理):
Student.className = “1班”
通过对象的引用访问:
student1.className = “1班”
注:静态的不依赖于对象,意味着其不需要对象的引用来访问,不属于某个具体的对象,是所有对象共享的
静态方法特性
1.不属于某个具体的对象,是类方法
2.可以通过对象调用,也可以通关类名.静态方法名(...)方式调用,更推荐使用后者
3.方法或者成员变量的调用分为两种情况,要么是通过对象的引用调用,要么是通过类名调用
4.不能在静态方法中访问任何非静态成员变量
(静态方法当中,不能直接使用任何非静态的成员变量和成员方法,要想使用就要通关new对象,然后跳过对象的引用访问)
注:静态的不依赖于对象,属于类,不属于对象
静态变量初始化
1.就地初始化
2.通过get set 方法初始化
3.构造方法(相对较少使用)
4.代码块