一,
1.
什么是类?什么是对象?
现实生活中是由很多很多对象组成的,基于对象抽出了类
对象:软件中真实存在的单个个体
/
东西
类:类型
/
类别,代表一类个体
类是对象的模板
/
模子,对象是类的具体的实例
类中可以包含:
对象的属性
/
特征
-----------------------------
成员变量
对象的行为
/
动作
/
功能
----------------------
方法
一个类可以创建多个对象
2.
如何创建类?如何创建对象?如何访问成员?
3.
方法的签名:方法名
+
参数列表
4.
方法的重载
(overload/overloading)
:
-------------------------------
方便用户的调用
发生在同一类中,方法名相同,参数列表不同
编译器在编译时会根据方法的签名自动绑定方法
1. OO
:面向对象
OOA
:面向对象分析
OOD
:面向对象设计
OOP
:面向对象编程
--------------------------
你们以后所参与的
2.
高质量的代码:
------------------------
想拿年薪
复用性好、扩展性好、维护性好、移植性好、健壮性好、可读性好、效率好
......
3.
类:是一种引用数据类型,是我们自己创造的一种数据类型
二,
1.
构造方法:构造函数、构造器、构建器
-----------------------
复用给成员变量赋初值的代码
作用:给成员变量赋初值
与类同名,没有返回值类型
(
连
void
都没有
)
在创建
(new)
对象时被自动调用
若自己不写构造方法,编译器默认提供一个无参构造方法,若自己写了构造方法,则不再默认
提供
构造方法可以重载
2. this
:指代当前对象,哪个对象调用方法它指的就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个
this.
this
的用法:
this.
成员变量名
---------------------------
访问成员变量
当成员变量与局部变量同名时,若想访问成员变量,则
this
不能省略
this.
方法名
()--------------------------------
调用方法
(
一般不用
)
this()------------------------------------------
调用构造方法
(
一般不用
)
3. null
:表示空,没有指向任何对象。
若引用的值为
null
,则该引用不能进行任何点操作了,若操作则发生
NullPointerException
空
指针异常
1. java
规定:成员变量和局部变量是可以同名的,使用的时候默认采取的是就近原则
2.
构造方法到底要不要参数,要看对象的数据能不能写死
如果对象的数据都一样,意味着可以写死,就不需要传参。
如果对象的数据都不一样,意味着不能写死,那就需要传参。
3.
内存管理:由
JVM
来管理的
堆:
new
出来的对象
(
包括成员变量
)
栈:局部变量
(
包括方法的参数
)
方法区:
-------暂时不讲
三,
1.
引用类型数组:
给元素赋值时,需要
new
个对象
若想访问对象的数据,需要通过数组元素去打点来访问
2.
继承:
作用:代码复用
通过
extends
来实现继承
超类
/
父类:共有的属性和行为
派生类
/
子类:特有的属性和行为
派生类可以访问派生类的
+
超类的,但超类不能访问派生类的
一个超类可以有多个派生类,但一个派生类只能继承一个超类
-----------
单一继承
继承具有传递性
java
规定:构造派生类之前必须先构造超类
在派生类的构造方法中若没有调用超类的构造方法,则默认
super()
调用超类的无参构造
方法
在派生类的构造方法中若自己调用了超类的构造方法,则不再默认提供
注意:
super()
调用超类构造方法,必须位于派生类构造方法的第一行
3. super
:指代当前对象的超类对象
super
的用法:
super.
成员变量名
-------------------------
访问超类的成员变量
super.
方法名
()-----------------------------
调用超类的方法
super()---------------------------------------
调用超类的构造方法