Java---面向对象以及其封装
面向过程和面向对象:
面向过程强调的是思想,强调的是过程(动作)
面向对象思想,强调的是对象(实体)
例如:大象装进冰箱里
面向过程:打开冰箱;放进大象;关闭冰箱,(其注重的是动作)
面向对象:冰箱打开;冰箱存储;冰箱关闭(注重的是功能,)
面向对象的特点:
1. 他是一种思想,符合人的思考习惯
2. 将复杂的问题简单化
3. 他让曾经在过程中的执行者变成了对象中的指挥者
成员变量和局部变量的区别:
1. 成员变量定义在类中,整个类中都能访问
局部变量定义在函数,语句,局部代码块中,只在所属区域有效
2. 成员变量存在堆内存的对象中,局部变量存在栈内存的方法中
3. 成员变量随着对象的创建而存在,随着对象的消失而消失
局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
4. 成员变量都有默认的初始值
局部变量没有初值不能用
封装:
例如:人:属性 年龄; 行为 :说话
/*
需求:人 : 属性: 年龄 age
行为:说话speak
*/
class Person{
private /*私有*/int age;//可以随意访问 不安全所以要用到private
/*规范型*/
public void setAge(int a){
age = a;
}
public int getAge(){
return age;
}
/*
public void fangwen(int a){
if(a > 0 && a < 120){
age = a;
}else{
System.out.println("数据有误");
}
}
*/
public void speak(){
System.out.println("age="+age);
}
}
classPersonDemo{
public static void main(String[] args){
Person p = new Person();
// p.age=20;
// p.age=-20;
// p.fangwen(20);
// p.fangwen(-20);//不符合所以要设定区域
p.setAge(20);
p.speak();
}
}