面向对象
1. 类和对象
类是指具有共同属性和特征的事物的群体
类由三部分组成:成员变量,成员方法和构造方法
类的作用有:描述一类事物,类是java的一种数据类型,可以通过类创建对象
类的定义格式
public class 类名 {
//成员变量
private 数据类型 变量名;
...
//成员方法
public 返回值类型 方法名(形参){
方法体;
}
//构造方法
public 类名(形参){
...
}
}
对象是指具体的事物
创建格式
类名 对象名 = new 类名(实际参数);
类和对象的关系
1:一个类,可以创建出很多对象
2:一个对象,必须有自己所属的类
3:注意:对象与对象之间,相互独立
2. 成员变量和局部变量
成员变量与局部变量的区别
1:定义位置不同;成员变量在类中,而局部变量在方法体或形参位置;
2:生命周期不同;成员变量随着对象的创建而存在,随着对象的死亡而死亡,而局部变量随着方法的调用而存在,方法的结束而死亡;
3:默认值不同;成员变量有默认值,规则与数组,而局部变量没有默认值;
4:内存位置不同;成员变量在堆中,而局部变量在栈中;
3. 封装(private关键字)
private-------私有的
被private修饰的变量只能在本类中使用
因为被private修饰的变量无法被外部直接使用
那就需要封装get和set方法,让外部不能够直接访问到
如果需要访问,就要调用get和set方法进行访问
private 可以修饰的有成员变量,(常用)成员方法,构造方法
public class 类名{
//成员变量
private String name;
...
//get和set方法
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
4. this关键字
this是指当前对象
作用是为了区分成员变量和局部变量
在一个类中,当定义在方法里面的局部变量名和成员变量名相同时
需要通过this关键字来区分
参考上面get和set方法代码
this.name//成员变量
name//局部变量
/*
默认情况下,成员变量与局部变量的访问规则:
就近原则;(只要有局部变量,优先使用局部变量,如果要使用成员变量,必须写this)
*/
5. 构造方法
类里面的特殊方法
1:方法名与类名一致
2:仅有修饰符和方法名
作用
1: 创建对象
2: 给类中的成员变量初始化
与setXxx方法的区别:
构造方法是创建对象的过程中对成员变量赋值;
setXxx方法,是对象创建成功后,对成员变量修改值;
格式
//如果一个类没有写构造方法,java会默认有一个无参构造方法
//如果自己写了一个构造方法,默认的无参构造就会消失
//建议自己写构造方法时,一定要把无参构造和全参构造都写上
public 类名(形参){
方法体;
(一般是对成员变量赋值)
}
//构造方法每运行一次就意味着在堆中创建了一个对象
//构造方法可以重载
标准类的写法
1:成员变量私有
2:写成员变量对应的getter与setter方法
3:写空参数的构造方法和全参数的构造方法;