实例化
- 1概述
对象(Object)又叫做实例(Instance),生成一个对象的过程又叫做实例化。
*2 构造方法(Constructor)
构造方法用于完成对象属性的初始化工作,构造方法的特点:
a) 构造方法的名字必须与类名完全一致(包含大小写)
b) 构造方法没有返回值,连 void 也不能出现。
c) 如果在定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认的构造方法)
d) 如果在定义一个类的时候,为类声明了构造方法,那么 Java 编译器就不会再为类添加构造方法了。
e) 不能显式调用类的构造方法,构造方法通常是通过 new 关键字隐式调用。 - 3 使用new 关键字在生成对象时完成了三件事情
- 为对象开辟内存空间。
- 调用类的构造方法。
- 将生成的对象的地址返回。
- 4 使用 new 来生成对象的时候后面的小括号()表示构造方法的参数列表
1)如果构造方法 不接收参数,那么小括号中的内容为空;
2)如果构造方法接收参数,那么小括号中的实际 参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按照顺序逐一赋值)。
成员变量和局部变量
- 1 成员变量的概念
类中的属性又叫做成员变量(member variable),属性用英文表示为 property 或者 attribute。 - 2 如何定义属性?
public class Person { 修饰符 类型 属性名称; } - 3 如何使用属性?
与方法一样,使用.运算符。
1)首先需要生成类的实例,
2)然后使用实例+”.” 的方式来使用属性。
Person person = new Person();
person.age - 4 局部变量的概念
定义在方法中的变量叫做局部变量。 - 5 成员变量与局部变量的联系与区别:
a) 无论是成员变量还是局部变量,使用前都需要声明(定义)。
b) 对于局部变量来说,使用前必须要初始化;对于成员变量来说,使用前可以不初始化。
如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个 默认的初始值:
i. byte、short、int、long 类型的初始值为 0
ii. float、double 类型的初始值为 0.0
iii. char 类型的初始值‘\u0000’
iv. boolean 类型的初始值为 false
属性与方法
1 命名约定
1)类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写, 中间不使用任何的连接符。比如 Person 类,MemberTest 类。
2)方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全 都小写,从第二个单词开始,每个单词的首字母大写。比如 add,addThreeInt。
3)属性:命名约定与方法相同。比如 age,ageOfPerson。2 引用类型(reference type)
1)引用类型是用在对象上的。一个对象可以被多个引用所指 向,但同一时刻,每个引用只能指向唯一的一个对象。
2)如果一个对象被多个引用所指向, 那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。
3)什么类型的引用就能指向什么类型的对象,比如 People 类型的引用就能指向 People 类 型的对象,但不能指向 Student 类型的对象。
比如:
People people = new People(); // 正确
People people = new Student(); //错误3 如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个 类有多少个对象,这些对象共享同一个方法。
4 关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据类型 还是引用类型,统一是传值(pass by value)。