java的封装是通过什么实现的,java为什么封装

  java的封装是通过什么实现的,java为什么封装

  00-1010包包、包访问权限、静态成员是什么概念?总而言之:

  00-1010什么是封装?我们先来看一段代码。

  class Student {公共字符串名称;私人年龄;} public class test 4 { public static void main(string[]args){//引用变量student指向新创建的对象Student Student=new Student();//实例化对象student.age=12//通过引用变量名来访问Student类中的成员变量。成员变量}}我们跑吧

  好家伙,报错了,为什么当age被private修饰后就不能访问了呢?

  Private字面意思是私人的,私有的。java中private修饰的变量只能在当前类中访问,就像上面Student类中的age变量一样。它只能在Student类中访问,而不能在Test4类中访问。

  这样有什么用呢?当然有用

  这样可以防止年龄的其他地方被随意修改,比如把年龄赋给负数。这合适吗,正常吗?

  名字成员变量前的public是什么意思?它是公共的、开放的,由public修饰的成员变量无论在哪里都可以被访问。之前我们定义成员变量的时候,变量之前好像没有什么public和private之类的东西!那时候我们是不是也可以通过对象引用来逐个访问那些成员变量呢?

  这时我们就有必有引入封装这个概念了

  封装将类的某些信息隐藏在类内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对隐藏信息的操作和访问。,举例来说,计算机内部极其复杂,有主板、中央处理器、硬盘和内存。但是一般用户不需要知道它的内部细节,主板的型号,CPU的主频,硬盘和内存的大小。所以电脑厂商会把电脑用机箱包装起来,并提供一些外接接口,比如鼠标、键盘、显示器等,这样就非常方便用户使用电脑。

  包装特点:

  只能通过规定的方法访问数据。包装的具体步骤如下:

  隐藏类的实例细节,方便修改和实现。修改属性的可见性来限制对属性的访问,一般设为 private。,为每个属性创建一对赋值(setter)方法和取值(getter)方法,一般设为 public,用于属性的读写。我们刚刚提到的私有实际上是一种封装。private修饰的东西只有这个类可以访问,其他类不能访问,这样就隐藏了信息。

  在赋值和取值方法中,加入属性控制语句(对属性值的合法性进行判断)。

  如果外界想进入私人财产,那么我们如何访问被private修饰的成员变量呢?

  class Student {公共字符串名称;私人年龄;Public int getAge() {//这些专门用来访问设置属性的方法一般用Public来修饰返回年龄;} public void setAge(int age){ this . age=age;} } public class Test4 { public static void main(String[]args){ Student Student=new Student();Student.name=张三;public修饰的东西可以在其他类中自由访问(但不安全有风险)system . out . println( name: student . name );System.out.println(==========这是分割线=====);学生.设置(19);//通过设置属性的特殊setAge()方法给system . out . println( age: student . getage())赋值(安全且不能随意修改);//通过

  专门的访问属性的getAge()来打印 }}

  

 

  从运行结果来看,姓名、年龄都被成功的赋值并打印了。但因为他们前面的访问修饰限定符不一样,所以对年龄、姓名的访问权限也不同,访问方式自然也不同了。

  

 

  

封装拓展之包

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: