面向对象基础知识
一 关于变量的赋值
-
如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
-
如果变量是引用数据类型,此时赋值的变量所保存的数据的地址值。
二 方法形参的传递机制:值传递
1 形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的数据
三 封装性
1 当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。
这里,赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。
但是,在实际问题中,我们往往要给属性赋值加入额外的限制条件。这个条件就不能再属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:setLegs())。
同时,我们需要避免用户在使用“对象.属性”的方式对属性进行赋值,则需要将属性声明为私有的(private)。
代码如下
2 封装性的体现
我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getxxx)和设置(setxxx)。
四 4种权限修饰符
1 java规定的4种权限修饰符(从小到大排序):private 缺省 protected public
2 4种权限修饰符可以用来修饰类及类的内部结构:属性,方法,构造器,内部类。
五 构造器的使用
1 构造器的作用:
- 创建对象
- 初始化对象的属性
2 说明:
- 如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器。
- 定义构造器的格式:权限修饰符 类名(形参列表){}
- 一个类中定义的多个构造器,彼此构成重载。
- 一旦我们显示的定义了类的构造器后,系统就不在提供默认的空参构造器。
- 一个类中至少有一个构造器
3 属性赋值的先后顺序
(1)默认初始化
(2)显示初始化
(3)构造器中赋值
(4)通过“对象.方法”或“对象.属性”的方式,赋值
以上操作的先后顺序:(1) (2) (3) (4)
六 this关键字的使用
1 this可以用来修饰:属性,方法,构造器
2 this修饰属性和方法:
this理解为:当前对象 或 当前正在创建的对象
3 在类的方法中,我们可以使用“this.属性”或“this.方法”的方式,调用当前属性或方法。
但是,通常情况下,我们都选择省略“this."。
特殊情况下,如果方法的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表明此变量是属性,而非形参。
4 在类的构造器中,我们可以使用“this.属性”或“this.方法”的方式,调用当前正在创建对象属性或方法。
但是,通常情况下,我们都选择省略“this."。
4 在类的构造器中,我们可以使用“this.属性”或“this.方法”的方式,调用当前正在创建对象属性或方法。
但是,通常情况下,我们都选择省略“this."。
特殊情况下,如果构造器的形参和类的属性同名时,我们必须显示的使用“this.变量”的方式,表明此变量是属性,而非形参。