JavaSE基础语法--封装

封装是面向对象的三大特性之一,它意味着隐藏类的实现细节,只对外提供接口。在Java中,通过访问修饰限定符如private、protected和public来控制成员变量和方法的访问权限。包作为组织类的工具,帮助管理不同的类。文章通过实例展示了如何使用private权限实现封装,并提供了公共接口供外部交互。
摘要由CSDN通过智能技术生成

Java是一门面向对象的语言。面向对象的三大特性:封装,继承,多态。封装到底是什么含义呢?通俗来讲就是屏蔽掉类的实现细节,对外提供接口让你调用。举个现实生活中的例子:

刚好618刚过,我因为需求换了一台电脑(旧电脑卡的飞起来经常死机)。拿到新电脑之后,我开机就能使用CPU,内存等功能,我插入键盘接口我就能使用键盘,我插入鼠标接口我就能使用我的鼠标。但是我并没有关心CPU是怎么工作的,我也没有关心键盘鼠标驱动的实现细节。我只是插入即可使用。这其实就是我们封装的思想--对内屏蔽细节,对外提供接口。


上面我们讲了封装的本质,那么我们一个在定义一个类的时候,类里有成员变量,成员方法。成员变量本质就是数据,成员方法本质就是功能实现。那么封装就是要讲数据和操作数据的方法进行有机的结合,隐藏对象的属性和细节,仅对外公开接口来和对象进行交互。具体怎么实现呢,这就涉及到一个权限问题了。

权限也叫访问修饰限定符,下图是权限表,图片截取网上:

缺省的意思就是在不加权限说明的时候,是有一个默认的权限,也就是default,但default不是一个权限关键字。只是默认的。而private,protected,public都是权限的关键字。

我们还要提到一个概念就是包。包其实可以理解为是一个文件夹。不同的文件夹很好的管理着不同的东西:

比如游戏的放在游戏文件夹,联系人放在联系人文件夹中。那么Java中,包的概念是一样的。为了方便管理我们写的类。分门别类的管理的这些文件夹就叫包。 举个例子就比好我们之前用的Arrays这个类。并不在我们的代码中实现。而我们想要使用就需要把这个包给导进来:

有了包的概念就能理解上面图中的一些权限问题。


 我们看封装的具体实现:

 我们更改了name的权限,发现类外访问是报红的。private权限只能类内访问。于是我们可以通过公共接口的手段实现,代码如下:

class Person{
    private String name;   //只有类内能访问,实现封装
    private int age;
    public  Person(String name,int age){
        this.name=name;
        this.age=age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public class TestDemo {
    public static void main(String[] args) {
      Person person=new Person("郭志伟",2);
        System.out.println(person.getName()+" "+person.getAge());
        person.setName("伟大佬");
        System.out.println(person.getName()+" "+person.getAge());



    }
    }

输出结果如下:

 代码较简单,仔细看看就明白了。这就是封装的思想。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值