• 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;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    提供接口: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;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

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

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

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

    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编程开发包。


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

    在这里插入图片描述

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

  • 相关阅读:
    【自学】C++Primer 变量和基本类型
    Pikachu漏洞练习平台----验证码绕过(on server) 的深层次理解
    程序环境和预处理
    Vue 的最大的优势是什么?
    vue模板语法: 插值语法和指令语法以及v-bind指令使用
    图数据结构基础篇
    10分钟快速上手LLM大模型Python前端开发(三)之显示模块(三)
    lc[链表]---203.移除链表元素
    安全设备和防火墙
    JavaScript面试刷题指南
  • 原文地址:https://blog.csdn.net/m0_62160964/article/details/125455625