封装
封装的概念与作用
面向对象的三大特性中,有了封装才有继承,有了继承后才有多态。 那么封装有什么作用呢? 封装在代码层面的作用: 一个类体当中的代码数据,封装之后,对于调用人员来说,不需要关心代码的复杂实现,只需要 通过一个简单的入口就可以访问了,另外,类体中安全级别较高的数据封装起来,外部人员不能 随便访问,来保证数据的安全性。
封装的代码实现
实现封装的主要步骤有两步: 一、属性私有化:即类中的成员变量用private修饰,表示该数据只能在本类中访问 二、提供对外的简单访问接口:set和get方法 下面通过一个简单的例子来理解封装
首先定义一个person类,成员变量为age
public class person
{
private int age;
public int getAge(){
return age;
}
public void setAge(int nianling){
if (nianling<0||nianling>150)
{
System.out.println("对不起输入不合法");
return;
}
age = nianling;
}
}
接下来演示在另一个程序中访问该类的方法
public class persontext
{
public static void main (String[] args){
person s1 = new person ();
System.out.println(s1.getAge());
s1.setAge(20);
System.out.println(s1.getAge());
}
}
set和get的一些注意事项
1.标准格式: set: public void set+属性名首字母大写(1个参数){ xxx=参数; } get: public 返回值类型 get+属性名首字母大写(无参){ return xxx; } 2.set和get有什么用? 当代码封装以后,外部只能通过set和get来读取一个对象中的数据,我们可以在set或get中来设立关卡,就可以防止外部对重要数据的随意读取和随意更改。
static关键字
1.static翻译为静态的 2.所有static修饰的都是类级别的 3.所有static修饰的都由“类名.”的方式访问,不需要new对象,同一个类中可省略 4.没有用static修饰的实例,访问时要用“对象.”,需要new对象 5.static修饰的变量:静态变量 6.static修饰的方法:静态方法
什么时候把变量用static修饰
首先我们先明确一下变量的储存位置(方法同) 1.静态变量:存储在方法区,且先加载 2.局部变量:储存在栈内存 3.实例变量:储存在堆内存 那么我们什么时候用static修饰呢? 如果这个类型的某个属性都是一样的,不建议定义为实例,以用来节省空间
接下来我们看一个例子:
class chinese
{
long idCard;
String name;
static String country="中国";
public chinese(){
}
public chinese (long id,String xingMing){
idCard=id;
name=xingMing;
}
}
什么时候用static修饰方法
方法和变量其实是一样的,在一个类中定义的方法,若没有用static修饰,就称作实例方法,需要通过new对象来访问,若用static修饰,表示 该类定义的所有对象都会有此方法,直接“类名.”即可访问。
|