【包和访问修饰符】

访问限定符


Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符合人类对事物的认知,而访问权限用来控制方法或者字段能否直接在类外使用。Java中提供了四种访问限定符:

 java提供了四个访问操作符:

protected    受保护的

private 私有的,只能在当前类中访问

public  公开的

     class Demo{
        public int a;
        protected char b;
        private double c;
        String d;   //默认的;包访问权限
     }

当我们在类中成员变量没加访问修饰符时,我们就默认为包访问权限。

我们先学习包的概念

在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件包。有点类似于目录。比如:为了更好的管理电脑中的歌曲,一种好的方式就是将相同属性的歌曲放在相同文件下,也可以对某个文件夹下的音乐进行更详细的分类。
在Java中也引入了包,包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一个包中的类不想被其他包中的类使用。包还有一个重要的作用:在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。

java 中已经提供了很多现成的类供我们使用. 例如Date类:可以使用 java.util.Date 导入 java.util 这个包中的 Date类.

        import java.util.Arrays;
 
public class TextDemo1 {
             public static void main(String[] args) {
                 int[] arrays = {1,2,3};
                 System.out.println(Arrays.toString(arrays));
             }

我们通常用import语句导入包

我们也可以不导入包也可以,但是比较麻烦

             public static void main(String[] args) {
                 java.util.Date date =new java.util.Date();
                 //得到一个毫秒级别的时间戳;
                 System.out.println(date.getTime());
             }

我们还可以使用import.java.util.*

    import java.sql.Date;
    import java.util.*;
public static void main(String[] args) {
        int[] arrays = {1,2,3,4,5,6};
        System.out.println(Arrays.toString(arrays));
        java.util.Date dat = new java.util.Date();

    }

我们的util里面有Date这个方法,但是我们的sql里面也有,这个时候我们就需要具体往里面导入。
同时我们java还支持一种静态导入。

    import static java.lang.Math.*;

    public static void main(String[] args) {
        double x = 30;
        double y = 40;

        //静态导入的方法写起来更加方便
        //double result = Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
        
        double result = sqrt(pow(x,2)+pow(y,2));
        System.out.println(result);
    }

这个方法不建议使用,能看懂就行。

我们知道了怎么导包,但是我们还得要学习怎么自己写包。

自定义包

在文件的最上方加上一个 package 语句指定该代码在哪个包中.
包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 ).
包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码.
如果一个类没有 package 语句, 则该类被放到一个默认包中.

 当我们创建出来的时候,就会出现

package com.bit.demo;

package代表声明报的路径

所以这个包就在com.bit.demo


我们再回到之前的问题,包访问权限到底是什么?

public是在哪都能访问

默认包访问权限,->只能在包中访问。

private ->只能在当前类中使用。

我们的封装就是运用这几个访问修饰符来实现。什么时候使用public 什么时候使用private

并没有强制规定,这个东西适合你业务上有关系的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值