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

目录
  • 1.包
    • 1.包的三大作用
    • 2.包的基本语法
    • 3.包的本质
    • 4.包的命名规则
    • 5.包的命名规范
    • 6.常用的包
    • 7.注意事项和使用细节
  • 2.访问修饰符
    • 1.4种访问修饰符的访问范围
    • 2.使用注意事项
    • 3.具体实例说明
      • 1. 同类
      • 2. 同包
      • 3. 不同包子类
      • 4. 不同包

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包的作用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java由浅入深带你了解什么是包package

    目录 什么是包 1.导入包中的类 2.静态导入 3.将类放到包中 4.包的访问权限控制 5.常见的系统包 什么是包 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如, 你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致 代码不能编译通过 1.导入包中的类  Java 中已经提供了很多现成的类供我们使用 ①:例如打印数组: public class TestDemo{ public stati

  • 一篇文章带你入门Java修饰符

    目录 定义 分类 访问控制修饰符 非访问控制修饰符 修饰符的使用说明 修饰类 修饰方法 访问控制修饰符 非访问控制修饰符 修饰变量 总结 定义 Java修饰符:修饰符用来定义类.方法或者变量,通常放在语句的最前端. 分类 主要分为2类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符 可以使用访问控制符来保护对类.变量.方法和构造方法的访问.分为以下4中权限:private,default,protected,public. 权限说明: 修饰符 当前类 同包 子类(不同包) 不同包(其他类)

  • java中的各种修饰符作用及范围

    目录 访问修饰符 作用范围 静态修饰符的特点 静态使用的注意事项 静态的优缺点 当成员变量被静态修饰后,和非静态成员变量的区别 访问修饰符 private 缺省 protected public 作用范围 访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类 private 可以访问 不可以 不可以 不可以 缺省 可以 可以 不可以 不可以 protected 可以 可以 可以 不可以 public 可以 可以 可以 可以 private 被private修饰的属性和方法,

  • Java开发必备的三大修饰符

    一.abstract 抽象的 抽象类:被abstract 修饰的类 语法: abstract class 类名{} 抽象方法 : 被abstract 修饰的方法 定义语法: 访问修饰符 abstract 返回值类型 方法名(参数列表): abstract 访问修饰符 返回值类型 方法名(参数列表): 特点: 1.当一个类中存在抽象方法 那么这个类也必须是抽象的 2.一个抽象类中可以有抽象方法也可以有非抽象方法 3.如果一个类继承了抽象类,这个类如果不想成为抽象类,那么这个类必须实现抽象类中的所有

  • 深度理解Java访问修饰符

    一.作用及种类 UML类图 建模语言或标准建模语言 类的属性.操作中的可见性使用+.#.-分别表示public.protected.private 作用:信息隐藏 防止用户意外修改数据,使模块易于维护和使用有哪些修饰符呢? private:只有该类可以访问 protected:该类及其子类的成员可以访问,同一个包中的类也可以访问 public:该类或非该类可以访问 默认:同一个包中的类可以访问 可以作用于类,成员,方法 二.深度理解 同一个类 就是同一个类里面的,类相当于结构体 同一个包 圈中的

  • Java正确使用访问修饰符的姿势

    目录 1.简介 2.访问修饰符 3.原则 总结 1.简介 访问修饰符是Java语法中很基础的一部分,但是能正确的使用Java访问修饰符的程序员只在少数.在Java组件开发中,如果能够恰到好处的使用访问修饰符,就能很好的隐藏组件内部数据和不必公布的实现细节,从而把组件API和实现细节隔离:正确的使用访问修饰符开发的Java组件,在组件与组件的调用和依赖过程中,也能很好的解耦程序,以至于整个组件能够持续开发.持续测试.持续更新. 小捌温馨总结: 通过限制访问范围达到信息隐藏或封装的效果,保证程序实现

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

    目录 1.包 1.包的三大作用 2.包的基本语法 3.包的本质 4.包的命名规则 5.包的命名规范 6.常用的包 7.注意事项和使用细节 2.访问修饰符 1.4种访问修饰符的访问范围 2.使用注意事项 3.具体实例说明 1. 同类 2. 同包 3. 不同包子类 4. 不同包 1.包 1.包的三大作用 区分相同名字的类 当类很多时,可方便管理 控制访问范围 2.包的基本语法 package abc.www; 3.包的本质 实际上就是创建不同的文件夹/目录保存类文件 4.包的命名规则 只能包含数字,

  • Java详细讲解文件的读写操作方法

    目录 java的IO 字节流 InputStream的常用方法 OutputStream的常用方法 字节流读写文件 如何将数据写入到文件中 java的IO Java程序允许通过流的方式与输入输出设备进行数据传输.Java中的流都在java.io包中,称为IO(输入输出)流.IO流按照操作数据的不同,可以分为字节流和字符流,按照数据传输方向的不同,又可以分为输入流和输出流,程序从输入流中读取数据,向输出流中写入数据,在IO包中,字节流的输入输出分别用java.InputStream和java.io

  • Java详细讲解异常Exception的处理

    目录 1.异常介绍 2.常见的运行时异常 1.空指针异常 2.数学运算异常 3.数组下标越界异常 4.类型转换异常 5.数字格式不正确异常 1.异常介绍 基本概念 程序执行中发生的不正常情况称为异常.(语法错误和逻辑错误不是异常). package com.demo; /** * @version 1.0 * @auther Demo龙 */ public class exception01 { public static void main(String[] args) { int num1

  • Java 详细讲解线程安全与同步附实例与注释

    目录 线程安全问题 实例: 存钱取钱问题 买票问题 线程安全问题 分析问题 解决方案 线程同步 同步语句 synchronize(obj)的原理 同步方法 同步方法的本质 线程安全问题 多个线程可能会共享(访问)同一个资源 比如访问同一个对象,同一个变量,同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题,称为线程安全问题 什么情况下会出现线程安全问题 多个线程共享同一个资源 且至少有一个线程正在执行写的操作 实例: 存钱取钱问题 分别有存钱和取钱2个线程 存钱      

  • Java详细讲解不同版本的接口语法和抽象类与接口的区别

    目录 什么是接口? 接口的语法: (JDK7.0) 接口的语法: (JDK8.0) 接口的语法: (JDK9.0)—(私有方法) 接口的分类 常量接口: 空接口: 函数式接口: 什么是接口? 说到接口,USB大家肯定不陌生~接口是一种标准.规范.注意:接口一旦制定好,使用者和实现者都必须遵循的标准. 接口的语法: (JDK7.0) (1) 关键字:interface (2) 语法:  interface 接口名{} (3) 接口编译之后会生成对应的 .class文件 (4) 接口不能创建对象,但

  • Java 详细讲解分治算法如何实现归并排序

    目录 1.什么是分治算法 分治法 基本思想 2.分治算法的体现--归并排序 归并排序 基本思想 3.代码实现 1.什么是分治算法 分治法 分治法,字面意思是"分而治之",就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础,例如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)等. 基本思想 分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小

  • Java 详细讲解用堆解决Top-k问题

    目录 1.什么是堆? 堆结构 大根堆 VS 小根堆 大根堆(最大堆) 小根堆(最小堆) 优先级队列(PriorityQueue) 2.top-k问题解决思路 要解决 top-k 问题,我们应该先熟悉一种数据结构 - 堆(优先级队列),已经了解的朋友可以跳过哦. 1.什么是堆? 堆结构 堆其实就是一种二叉树,但是普通的二叉树是以链式结构进行储存数据的,而堆是以数组进行顺序存储数据的.那么什么样的二叉树才适合用顺序存储的方式呢? 我们假设一颗普通的二叉树可以用数组存储,那么就可以得到如下结构: 我们

  • Java 详细讲解线程的状态及部分常用方法

    可以通过 Thread.getState 方法获得线程的状态(线程一共有 6 种状态) NEW(新建)new:尚未启动 RUNNABLE(可运行状态)runnable:正在 JVM 中运行:或者正在等待操作系统的其他资源(比如处理器) //有些编程语言会把RUNNABLE分成2种情况//1.running//2.ready//以上2种在Java中都属于RUNNABLE BLOCKED(阻塞状态) blocked:正在等待监视器锁(内部锁) WAITING(等待状态) waiting:在等待另一个

  • Java 详细讲解线程的状态及部分常用方法

    可以通过 Thread.getState 方法获得线程的状态(线程一共有 6 种状态) NEW(新建)new:尚未启动 RUNNABLE(可运行状态)runnable:正在 JVM 中运行:或者正在等待操作系统的其他资源(比如处理器) //有些编程语言会把RUNNABLE分成2种情况//1.running//2.ready//以上2种在Java中都属于RUNNABLE BLOCKED(阻塞状态) blocked:正在等待监视器锁(内部锁) WAITING(等待状态) waiting:在等待另一个

  • Java详细讲解分析双指针法的使用

    目录 前言 1.判断链表是否有环 2.查找链表中间的元素 3.奇偶排序前奇后偶 4.删除排序链表的重复元素 5.三数之和 6.分割链表 7.合并两个有序的数组 8.两数之和—输入有序数组 9.长度最小的子数组 10.排序链表 前言 通常用在线性的数据结构中,比如链表和数组. 指针其实就是数据的索引或者链表的结点.两个指针朝着左右两个方向移动,直到满足搜索条件. 双指针可分为同向双指针.异向双指针.快慢指针.滑动窗口.根据需求选择双指针的模型,比如 删除数组或链表中重复的元素,同向双指针(线性表前

随机推荐