面向对象:二、封装性,成员变量和局部变量

一、
封装就是隐藏实现细节,仅对外提供访问接口
封装有:
属性的封装、方法的封装、类的封装、组件的封装、模块化封装、系统封装

例:
属性的封装
//没有封装之前
//如果属性没有封装,那么在本类之外创建对象后,可以直接访问属性
class Person{
//属性的封装
String name;
int age;
}

//进行属性封装
//private关键词:访问权限修饰符,public表示共有,private表示私有
//公有的属性和方法,可以被类外部的其他类访问,想要在类外部访问私有属性,我们需要提供公有的方法来间接访问
class Person{
//属性的封装
private String name;//成员变量,在类中定义
private int age;//成员变量,在类中定义
//对外提供一个为name属性设值的方法
public void setName(String name){
this.name = name;
}
//对外提供一个获取name属性的方法
public String getName(){
return name;
}
//对外提供一个为age属性设值的方法
public void setAge(String age){
this.age = age;
}
//对外提供一个获取age属性的方法
public String getAge(){
return age;
}
}
备注:通常在一个类中,属性都私有化,并对外提供getter and setter方法

二、
成员变量和局部变量
1、在类中的位置不同
成员变量:在类中定义
局部变量:在方法中定义或者方法的参数
2、在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
3、初始化值不同
成员变量:有默认初始化值,引用类型默认为null
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用
注意:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值