JAVASE语法零基础——封装与包

Java系列文章目录


在这里插入图片描述

Write once,Runanywhere.🔥🔥🔥

💥 💥 💥如果你觉得我的文章有帮助到你,还请【关注➕点赞➕收藏】,得到你们支持就是我最大的动力!!!
💥 💥 💥

版权声明:本文由【马上回来了】原创、在CSDN首发、需要转载请联系博主。
版权声明:本文为CSDN博主「马上回来了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

在这里插入图片描述

🚀🚀🚀 新的知识开始喽🚀🚀🚀
在这里插入图片描述



1.封装

**面向对象程序有三大特性:封装、继承、多态。**现阶段先只了解封装。
封装:对对象的数据和数据方法进行隐藏(对对象细节进行隐藏),只提供对外公开的方法来对对象内的数据进行交互(对外提供公开的接口让你来进行交互)。
封装在一定的情况下使用可以提到代码的安全性和可靠性,比如在我们不想让别人知道我们代码里面的具体操作细节。

2.访问修饰限定符

封装主要用到private这个访问限定修饰操作符。
private"私有"访问权限是private所在的类中。
在这里插入图片描述
"public"则是在所有地方都能访问。
"默认"则是在同一个包中访问。
"protected"到了继承的时候再介绍。

2.1 private封装(类访问)

看代码:

public class Data1 {
    //创建一个类,成员变量都用private修饰实现封装
    private int year;
    private int month;
    private int day;
}

在这里插入图片描述
提供接口:set方法和get方法
idea提供的快捷方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击ok后会弹出下面的代码:

public class Data1 {
    //创建一个类,成员变量都用private修饰实现封装
    private int year;
    private int month;
    private int day;

    //这些方法就是公开的接口
    public int getYear() {
        return year;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getMonth() {
        return month;
    }

    public void setMonth(int month) {
        this.month = month;
    }

    public int getDay() {
        return day;
    }

    public void setDay(int day) {
        this.day = day;
    }
}

然后通过接口来访问被private封装的数据:

public class Test {
    public static void main(String[] args) {
        Data1 data = new Data1();
        //通过接口来进行和被封装的数据进行交互
        data.setYear(2022);
        System.out.println(data.getYear());
    }
}

成功访问被封装的数据:
在这里插入图片描述

2.2default默认(包访问)

2.1创建包

先了解什么是包:包就是将类放在一起的一个文件夹。包就是用于将类进归类,在类比较多的时候利于我们整理。
创建一个包:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在文件当中查看创建的包:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3导入包访问

2.3.1 自定义包访问

在src下的子包是可以互相访问的,只需要用import导入你要访问的包
在这里插入图片描述
在这里插入图片描述

2.3.2jdk提供的包

使用jdk提供给我们的包:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当然import导入包还可以使用*,表示导入所有类
在这里插入图片描述
在这里插入图片描述
值得注意的是,这里的Data类在jdk提供的两个包中都有,如果你同时导入了这两个包,这个时候使用import导入包(不管是使用导入具体的Data类还是使用*导入全部类),编译器可能无法准确的实例化出你想要得两个不同包中的对象。
因此更建议显式的指定要导入的类名. 否则还是容易出现冲突
在这里插入图片描述
在这里插入图片描述
采用下面的方式实例化对象:
在这里插入图片描述

在这里插入图片描述

2.3.3 导入静态包

但是一般很少这样用。
在这里插入图片描述

2.3 default包访问符

只能在同一个包中访问。
在这里插入图片描述

在这里插入图片描述
不同的包之间不能访问:
在这里插入图片描述

3.常见的包

  1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。

  2. java.lang.reflect:java 反射编程包; 3. java.net:进行网络编程开发包。

  3. java.sql:进行数据库开发的支持包。

  4. java.util:是java提供的工具程序包。(集合类等) 非常重要

  5. java.io:I/O编程开发包。


🌏🌏🌏今天的你看懂这里又学到了很多东西吧🌏🌏🌏

在这里插入图片描述

🌔 🌔 🌔下次见喽🌔 🌔 🌔
在这里插入图片描述

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马上回来了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值