Java 包和访问权限操作

 更新时间:2020年12月01日 11:34:58   作者:清风丿自来  
这篇文章主要介绍了Java 包和访问权限操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、包的命名规则

包命名规则:

- 包名全部由小写字母(多个单词也全部小写);

- 如果包名包含多个层次,每个层次应该用“.”分割;

- 包名一般由倒置的域名开头,比如com.baidu;——不要有www

- 自定义包不能java开头;

2、包的作用

有利于类的查找与管理。一个软件由很多类构成,这些类按其功能可分为vo类、dao类、工具类、service类、controller类等,将这些类按其功能分门别类地放在不同包中有利于类的查找与管理;

解决了同名类命名冲突;

有利于保护类中的成员变量及其方法。类中成员变量及其方法前面的访问控制符决定了该变量和方法的使用范围;

3、jdk中的包

JDK类库中的包,最高一级的包名是java和javax。

java.lang:提供利用 Java 编程语言进行程序设计的基础类,例如:String、Math、Integer、System和Thread等。

java.util:java工具类,包含对集合的操作、事件模型、日期和时间设施、国际化和各种实用工具类。

java.io:通过数据流、序列化和文件系统提供系统输入和输出。

java.net:为实现网络应用程序提供类。

java.awt:包含用于创建用户界面和绘制图形图像的所有类。

4、访问修饰符

软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰符有4中:

Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。

访问控制符使用范围:

public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;

protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;

默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;

private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用;

下面主要说一下protected 修饰的方法和属性

首先定义一个Person类

一、不继承则无法调用

二、继承

1、不能使用创建父类对象调用非静态的属性和方法,只能通过子类的对象调用继承过来的属性和方法

2、如果父类中属性和方法是静态的,子类中可通过父类类名直接调用属性和方法

补充知识:Java包内类的访问权限

如下所示:

以上这篇Java 包和访问权限操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java对int[]数组做新增删除去重操作代码

    Java对int[]数组做新增删除去重操作代码

    这篇文章主要介绍了Java里面对int[]数组做新增删除去重实现,这里记录下使用int[]数组对数组进行新增删除去重等操作,用来更加了解java里面的集合类思想,需要的朋友可以参考下
    2023-10-10
  • java泛型详解

    java泛型详解

    本文主要介绍了java泛型的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Apache POI将PPT转换成图片实例代码

    Apache POI将PPT转换成图片实例代码

    这篇文章主要介绍了Apache POI将PPT转换成图片实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Spring MVC各种参数进行封装的方法实例

    Spring MVC各种参数进行封装的方法实例

    这篇文章主要给大家介绍了关于Spring MVC各种参数进行封装的相关资料,SpringMVC内置多种数据类型转换器,可以根据请求中的参数与后端控制器方法的参数的关系为我们实现简单的数据封装,需要的朋友可以参考下
    2023-06-06
  • 分析并发编程之LongAdder原理

    分析并发编程之LongAdder原理

    LongAdder类是JDK1.8新增的一个原子性操作类。AtomicLong通过CAS算法提供了非阻塞的原子性操作,相比受用阻塞算法的同步器来说性能已经很好了,但是JDK开发组并不满足于此,因为非常搞并发的请求下AtomicLong的性能是不能让人接受的
    2021-06-06
  • 使用阿里云OSS的服务端签名后直传功能的流程分析

    使用阿里云OSS的服务端签名后直传功能的流程分析

    这篇文章主要介绍了使用阿里云OSS的服务端签名后直传功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 使用@SpringBootTest注解进行单元测试

    使用@SpringBootTest注解进行单元测试

    这篇文章主要介绍了使用@SpringBootTest注解进行单元测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • @Autowired注入为null问题原因分析

    @Autowired注入为null问题原因分析

    这篇文章主要介绍了@Autowired注入为null问题原因分析吗,小编觉得挺不错的,对日后比较有帮助,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Spring Native实现0.059s启动一个SpringBoot项目

    Spring Native实现0.059s启动一个SpringBoot项目

    Spring Native是Spring框架的一个子项目,旨在提供一种将Spring应用程序编译为本地可执行文件的方法,从而提高启动时间和资源效率,本文主要介绍了Spring Native实现0.059s启动一个SpringBoot项目,感兴趣的可以了解一下
    2024-02-02
  • Java 覆盖equals时总要覆盖hashcode

    Java 覆盖equals时总要覆盖hashcode

    这篇文章主要介绍了Java 覆盖equals时总要覆盖hashcode的相关资料,这里附有实例代码,具有参考价值,需要的朋友可以参考下
    2016-12-12

最新评论