Java详细讲解包的作用以及修饰符的介绍

 更新时间:2022年05月10日 14:14:01   作者:小学生!!  
本文主要讲述的是包的使用和注意事项和四种访问修饰符public,protected,默认的,private的访问范围及实例,感兴趣的朋友一起来看看

1.包

1.包的三大作用

  • 区分相同名字的类
  • 当类很多时,可方便管理
  • 控制访问范围

2.包的基本语法

package abc.www;

3.包的本质

实际上就是创建不同的文件夹/目录保存类文件

4.包的命名规则

只能包含数字,字母,下划线,小圆点,但不能数字开头,不能是关键字或保留字

5.包的命名规范

小写字母+小圆点,一般是com.公司名.项目名.业务模块名

6.常用的包

java.lang.* //默认引入

java.util.* //系统提供的工具包,工具类,例如之前使用的Scanner

java.net.* //网络包,网络开发

java.awt.* // java界面开发,GUI

7.注意事项和使用细节

  • package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package。
  • import指令位置在package下面,在类定义前面,可以有多句且没有顺序要求。

2.访问修饰符

1.4种访问修饰符的访问范围

访问级别访问控制修饰符同类同包不同包子类不同包
公开public
受保护protected
默认没有修饰符
私有private

2.使用注意事项

  • 修饰符可以用来修饰类中的属性,成员方法及类
  • 只有默认的和public才可以修饰类!,并且遵循上述访问权限的特点
  • 成员方法的访问规则和属性完全一样

3.具体实例说明

1. 同类

package com.wang.modifier1;
public class A {
    public int n1 = 100;
    protected int n2 = 200;
    int n3 = 300;
    private int n4 = 400;
    public  void m1(){
        //同一个类可以访问所有修饰符修饰的属性和方法
        System.out.println("n1="+n1+"n2="+n2+"n3="+n3+"n4="+n4);
    }
}

2. 同包

package com.wang.modifier1;
public class B {
    public void say() {
        A a = new A();
        //在同一个包类可以访问public,protected,默认,不能访问私有private
        System.out.println("a1=" + a.n1 + "a2=" + a.n2 + "n3=" + a.n3);
    }

}

3. 不同包子类

package com.wang.extend;
public class Student {//父类
    public int age;
    public String name;
    private Double score;
    String hobby;
}
package com.wang.modifier1;//不同包
import com.wang.extend.Student;
public class B extends Student {//子类
    public void say() {
        //不同包子类可以访问父类的public,protected,不能访问默认的和private
        System.out.println(name + age);
    }
}

4. 不同包

package com.wang.modifier2;
import com.wang.modifier1.A;
public class Test {
    public static void main(String[] args) {
        A a = new A();
        //不同包下,可以访问 public 修饰的属性和方法
        //但不能访问 protected,默认,private 修饰的属性和方法
        System.out.println(a.n1);
    }
}

到此这篇关于Java详细讲解包的作用以及修饰符的介绍的文章就介绍到这了,更多相关Java包的作用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot如何动态改变日志级别

    SpringBoot如何动态改变日志级别

    这篇文章主要介绍了SpringBoot如何动态改变日志级别,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-12-12
  • Java线程池ThreadPoolExecutor的使用及其原理详细解读

    Java线程池ThreadPoolExecutor的使用及其原理详细解读

    这篇文章主要介绍了Java线程池ThreadPoolExecutor的使用及其原理详细解读,线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,线程池线程都是后台线程,需要的朋友可以参考下
    2023-12-12
  • 详解Java中的mapstruct插件使用

    详解Java中的mapstruct插件使用

    mapstruct 的插件是专门用来处理 domin 实体类与 model 类的属性映射的,我们只需定义 mapper 接口,mapstruct 在编译的时候就会自动的帮我们实现这个映射接口,避免了麻烦复杂的映射实现,对Java mapstruct使用相关知识感兴趣的朋友一起看看吧
    2022-04-04
  • java实现打砖块小游戏

    java实现打砖块小游戏

    这篇文章主要为大家详细介绍了java实现打砖块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Java生成压缩文件的实例代码

    Java生成压缩文件的实例代码

    在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载。下面通过实例代码给大家介绍Java生成压缩文件的方法,感兴趣的朋友一起看看吧
    2018-06-06
  • Jmeter固定定时器的使用详解

    Jmeter固定定时器的使用详解

    jmeter提供了多种定时器以便于我们进行接口的测试,你知道jmeter提供的定时器有哪些吗,本文就详细的介绍了Jmeter固定定时器的使用,感兴趣的可以了解一下
    2021-11-11
  • Spring基础篇之初识DI和AOP

    Spring基础篇之初识DI和AOP

    这篇文章主要为大家详细介绍了Spring基础篇之初识DI和AOP,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • java 中createStatement()方法的实例详解

    java 中createStatement()方法的实例详解

    这篇文章主要介绍了java 中createStatement()方法的实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 第三方网站微信登录java代码实现

    第三方网站微信登录java代码实现

    这篇文章主要为大家详细介绍了第三方网站微信登录的java代码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • spring cloud 配置中心native配置方式

    spring cloud 配置中心native配置方式

    这篇文章主要介绍了spring cloud 配置中心native配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论