Java详细讲解包的作用以及修饰符的介绍
作者:小学生!! 发布时间:2021-09-14 05:27:26
标签:Java,包,修饰符
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);
}
}
来源:https://blog.csdn.net/m0_54024106/article/details/124367136


猜你喜欢
- 一、新建学生节点类Stu_Node节点包含:学号:int num;姓名:String name;性别:String gender;下一个节点
- 学习编程语言最重要的就是实践。很多小伙伴在学习完编程语言后,一直停留在基础阶段,只懂一大堆理论知识,而不懂得实践。那么,今天我们一起来动手做
- 关于死信队列在大多数的MQ中间件中,都有死信队列的概念。死信队列同其他的队列一样都是普通的队列。在RabbitMQ中并没有特定的“死信队列”
- 在生产型Android客户端软件(企业级应用)开发中,界面可能存在多个输入(EditText)和多个操作(MotionEvent和KeyEv
- 认识链表结构单向链表单链表在内存中的表示:可以看到,一个链表的节点包含数据域和指向下一个节点的引用,链表最后一个节点指向null(空区域)。
- 这篇文章主要介绍了SpringBoot加载外部依赖过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- Android 滑动返回Activity的实现代码近来玩微信的时候偶然发现,向左滑动朋友圈竟然可以返回主页,故引起兴趣特研究代码很简洁pac
- 本文实例讲述了C#中File类的文件操作方法。分享给大家供大家参考。具体分析如下:File类,是一个静态类,主要是来提供一些函数库用的。静态
- 前文传送门:Netty分布式Future与Promise执行回调相关逻辑剖析概述FastThreadLocal我们在剖析堆外内存分配的时候简
- 1、简介应客户要求为了是特殊定制的系统更具安全,系统ROM需要使用自己定义的签名,还有一些特殊的场景也会更改系统的签名比如在过cts认证测试
- springboot项目还是ssm等java常用框架都会有这样的问题,解决办法通用问题场景前端发送Post请求,前端返回400 Bad Re
- 在写接口实现时,有时会有多个实现类。这篇文章介绍在调用时通过传入字符串来指定具体的实现类。一.接口与实现类:// 接口public inte
- package com;import java.util.Arrays; public class sjf { &nbs
- 一、常见非托管资源Windows窗口句柄、数据库链接、GDI对象、独占文件锁等等对象ApplicationContext,Brush,Com
- 当一个结合中想根据某一个字段做去重方法时使用以下代码IQueryable 继承自IEnumerable先举例:#region linq to
- 前言在segmentfault上看到一个问题:java有完善的GC机制,那么在java中是否会出现内存泄漏的问题,以及能否给出一个内存泄漏的
- 举个例子Map < String , Object > jsonMap = new HashMap< String , O
- 引言相信伙伴们在日常的开发工作中,一定会遇到事件冲突的问题,e.g. 一个页面当手指滑动的时候,会翻到下一页;点击的时候,需要响应页面中的元
- 在有些情况下死锁是可以避免的。本文将展示三种用于避免死锁的技术:1.加锁顺序2.加锁时限3.死锁检测加锁顺序当多个线程需要相同的一些锁,但是
- 本文实例讲述了Java使用JDBC实现Oracle用户认证的方法。分享给大家供大家参考,具体如下:两天时间写的小品,以前的J2EE环境基本使