JavaSE-No.6.2——封装与static

JavaSE传送门

JavaSE_Start

JavaSE-No.5——Java数组的定义与使用

JavaSE-No.6.1——Java的类和对象



1. 封装

1.1 概念

面向对象程序三大特性:封装、继承、多态。何为封装呢?简单来说就是套壳屏蔽细节

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行 交互

比如:说我们平常使用手机,我们只需要知道,如何开机,如何使用。并不关心手机内部的核心部件,不需要知道主板的线路布局,不需要知道CPU是如何设计的。厂商在出厂时,在外部套上壳,将内部隐藏起来,让用户可以与手机交互即可。

1.2 访问限定符

封装的实现需要我们先了解访问修饰限定符

Java中提供了四种访问限定符:

#public:在任何地方,都可以访问它修饰的成员或方法,或者类。

#protected:在继承会学到。

#dafault:指默认。在同一个包中进行访问。

例如: 此时的year前面什么都不加,就是默认权限。

#private:私有的。只能在当前类中访问。

我们现在建一个Date类:

public class Date {
   
    public int year;
    public int month;
    public int day;

    public Date() {
   
        
    }
    public Date(int year, int month, int day) {
   
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void printDate() {
   
        System.out.println(year+" "+month+" "+day+" ");
    }

    public static void main(String[] args) {
   
        
    }
}

我们新建一个类TestDemo,在TestDemo中用Date类,因为是public修饰的,我们可以看到没有报错。year,month,day也都可以访问。

这时我们把year改成private修饰,year的访问权限就变小了。只能在当前类中访问。这时我们的TestDemo中报错了,无法访问year

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0GGSbW1M-1652255385996)(C:/Users/gu%27jiu/AppData/Roaming/Typora/typora-user-images/image-20220511103434802.png)]

此时我们对year进行了封装,类外就不能访问这个被封装的year。

我们来思考一个 问题 ,如果外部想要使用year,应该怎么办呢?

答:这时我们需要对这个year,提供一个公开的接口

public int getYear() {
   
    return year
  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值