面向对象

一、构造方法
1. 构造方法概述和作用
a. 给对象的数据(属性)进行初始化
2. 构造方法格式特点
a. 方法名与类名相同(大小也要与类名一致)
b. 没有返回值类型,连void都没有
c. 没有具体的返回值return;
3. 构造方法重载
a. 方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表
4. 构造方法注意事项
a. 如果我们没有给出构造方法,系统将自动提供一个无参的构造方法。
b. 如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
※ 注意:这个时候我们如果还想使用无参的构造方法,就必须自己定义,建议永远要自己给出无参的构造方法。

二、给成员变量赋值的两种方式的区别
1. 两种方式:
a. 使用有参构造方法赋值。eg:Person p1=new Person("张三",23);
b. 使用setXxx方法赋值。eg: p1.setName("张天翼");
2. 区别:
a. 构造方法:一般用来给对象中的属性进行初始化
b. setXxx()方法:修改属性的值。
※ 实际使用中,setXxx()的方式更灵活一点。
三、创建对象的步骤:
Student s=new Student();
a. Student.class加载进内存
b. 声明一个Student类型引用s
c. 在堆内存创建对象
d. 给对象中属性默认初始化值
e. 属性进行显示初始化
f. 构造方法进栈,对对象中的属性赋值,构造方法弹栈
g.将对象的地址赋值给s
.

四、static关键字
1. static关键字的特点
a. 随着类的加载而加载
b. 优先于对象存在
c. 被类的多有对象共享
i. eg:我们班级的学生共用一个班级号
ii. 什么时候使用static
1) 如果某成员变量是被所有对象共享的,那么它就应该被定义为静态的。
d. 可以通过类名调用
i. 其实它本身也可以通过对象调用
ii. 推荐使用类名调用
iii. 静态修饰的内容一般我们称其为:与类相关的,类成员
2. static的注意事项
a. 在静态方法中是没有this关键字的
i. 如何理解:
1) 静态是随着类的加载而加载,this是随着对象的创建二存在的。
2) 静态比对象先存在。
b. 费静态方法只能访问静态的成员变量和静态的成员方法:
i. 静态方法:
1) 成员变量:只能访问静态变量
2) 成员方法:只能访问静态成员方法
ii. 费静态方法:
1) 成员变量:可以是静态的,也可以是费静态的。
2) 成员方法:可以是静态的成员方法,也可以是费静态的成员方法。
iii. 简单记:
1) 静态只能访问静态。

五、静态变量和成员变量的区别:
1. 所属不同
a. 静态变量属于类,所以也称为类变量
b. 成员变量属于对象,所以也称为实例变量(对象变量)
2. 内存中位置不同
a. 静态变量存储于方法区的静态区
b. 成员变量存储于堆内存。
3. 内存出现的时间不同:
a. 静态变量随着类的加载而加载,随着类的消失而消失。
b. 成员变量随着对象的创建而存在,随着对象的消失而消失。
4. 调用不同:
a. 静态变量可以通过类名调用,也可以通过对象调用。
b. 成员变量只能通过对象名调用。

六、工具类中使用static
如果一个方法中所有方法都是静态的,那么就需要将该类的构造方法设置为私有的,禁止该类创建对象。

posted @ 2019-02-21 22:57  蜗牛小传  阅读(78)  评论(0编辑  收藏  举报

青春是什么?青春就像下面这段文字!

因为我处于页面最下端,所以很少有人看到我,因为我的字体小,所以即使别人看到了,也可能一扫而过,可能不会有人愿意停下来读一下我,对别人来讲,我就像一段无聊的广告一样放在这里,对我来讲,这就是我的青春。

我曾无数次问设计师,为什么不能把我放在首页最上方,为什么不能让所有人看到我?为什么我的青春不能像别人一样绽放?设计师从来没有回答过我的问题,实际上他从来都没听到过我的声音,你是否也和我一样?拥有梦想,

却不得不在人群中彷徨,拥有青春,却没有人愿意停下来为你鼓掌?