个人简介
作者简介:大家好,我是小学生!!大二学生一枚,目前正在自学Java,如果大家觉得我写的还不错的话,希望大家给我点赞+收藏⭐+评论,有什么写的不对的地方还请大家多多指教,共同进步。
个人主页:小学生!!
系列专栏
阶段一:Java基础编程
目前已原创10篇阶段二:数据结构与算法
阶段三:操作系统
阶段四:计算机网络
本文主要讲述的是包的使用和注意事项和四种访问修饰符public,protected,默认的,private的访问范围及实例
文章目录
- 1.包
- 1.包的三大作用
- 2.包的基本语法
- 3.包的本质
- 4.包的命名规则:
- 5.包的命名规范:
- 6.常用的包
- 7.注意事项和使用细节
- 2.访问修饰符
- 1.4种访问修饰符的访问范围
- 2.使用注意事项
- 3.具体实例说明
- 1. 暈同类
- 2. 暈同包
- 3. 暈不同包子类
- 3. 暈不同包
1.包 1.包的三大作用
2.包的基本语法
- 暈区分相同名字的类
- 暈当类很多时,可方便管理
- 暈控制访问范围
package abc.www;3.包的本质
暈实际上就是创建不同的文件夹/目录保存类文件
4.包的命名规则:暈只能包含数字,字母,下划线,小圆点,但不能数字开头,不能是关键字或保留字
5.包的命名规范:暈小写字母+小圆点,一般是com.公司名.项目名.业务模块名
6.常用的包7.注意事项和使用细节
- 暈java.lang.* //默认引入
- 暈java.util.* //系统提供的工具包,工具类,例如之前使用的Scanner
- 暈java.net.* //网络包,网络开发
- 暈java.awt.* // java界面开发,GUI
2.访问修饰符 1.4种访问修饰符的访问范围
- 暈package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package。
- 暈import指令位置在package下面,在类定义前面,可以有多句且没有顺序要求。
| 访问级别 | 访问控制修饰符 | 同类 | 同包 | 不同包子类 | 不同包 |
|---|---|---|---|---|---|
| 公开 | public | ✓ | ✓ | ✓ | ✓ |
| 受保护 | protected | ✓ | ✓ | ✓ | ╳ |
| 默认 | 没有修饰符 | ✓ | ✓ | ╳ | ╳ |
| 私有 | private | ✓ | ╳ | ╳ | ╳ |
- 暈修饰符可以用来修饰类中的属性,成员方法及类
- 暈只有默认的和public才可以修饰类!,并且遵循上述访问权限的特点
- 暈成员方法的访问规则和属性完全一样
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);
}
}
3. 暈不同包
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);
}
}



