**面向对象:**这个软件由哪些部分完成的,或者由哪些对象来做的?
**面向过程:**要解决问题,需要做哪些事情?它的完成过程是怎样的?就问题解决问题。
1、什么是对象?:“万物皆对象,对象因关注而产生”
2、什么是类?:“物以类聚(都有特定的属性)”
3、类和对象的关系?
(1):类是对象的抽象,对象是类的实例
(2):类是具有相同属性和行为的一组对象的集合(抽象)
(3):在软件系统中,我们用类来模拟显示现实生活中的实体
1、找对象:问题域中的任何人,事物,实体
2、找到问题域中的对象后,编写一个类来描述每个对象的属性和行为
(1)属性(比如身高,体重)指对象的值数据,是类身上的[值数据]:变量属性和常量属性(他俩声明和原来一样,只是多了一个访问修饰符public)
(2)行为(比如吃,喝,玩)指对象做什么事情
产生与操作对象:
1、类名 对象 =
new 类名();
2、对象.(的)xxx
数属性的默认初始值:基本数据类型为0,引用数据类型为null。
类和对象的关系:类是模板不能直接使用,对象才是具体的实际存在的,所以对象也称为某个类的实例。通过类产生的动作称为
实例化。
垃圾回收机制:(对象的销毁)
它有自身的算法规则,程序员无法控制,但有一条基本规则可以主动回收。
所以:
1、可以把某个对象指向的引用赋值为null(空),这样该对象会被回收。
2、"system.gc();"这句代码可以召唤垃圾回收,但想不想收由它自己的算法决定。
3、若只用一次,可不起变量名,new后直接用,用完由于没有引用就会被回收。比如(new.student().age=16;)
访问修饰符:一共有三个关键字,四种情况
目前我们掌握两种:public(公共的)、private(私有的)
public 修饰的属性或方法,可以在任意位置访问
private 修饰的属性或方法,可以在本类访问
变量属性基于Java官方规范,应定义为private,然后提供get/set方法,让外部操作取值/赋值
get 方法被称之为:访问器
set 方法被称之为: 修改器
public void setName(String name){
this.name=name;
}
public String getName(String name){
return this.name;
}
当全局变量(属性)和局部变量重名时,会默认使用局部变量,这种情况,要特指全局变量,需要在全局变量前面加“this."操作,
此时的this相当于生活中每个对象说的“我”,指的是当前对象。(this.后有提示,可以提高开发效率)
建议:凡是访问本类中当前的属性和行为时,都养成写this的习惯。