当前位置 : 主页 > 编程语言 > java >

Java-包和导入、范围修饰符、静态

来源:互联网 收集:自由互联 发布时间:2022-07-04
一,包和导入 1.1 包 包:本质就是文件夹 问:为什么要创建不同的包? 答:因为一个项目中会涉及到很多功能模块、会涉及到很多相关技术,创建不同的包,就是在创建不同的文件夹

一,包和导入

1.1 包

包:本质就是文件夹

问:为什么要创建不同的包?

答:因为一个项目中会涉及到很多功能模块、会涉及到很多相关技术,创建不同的包,就是在创建不同的文件夹,当我们将相关的类放入到对应的文件夹(包)之后,类会更加便于管理。

关键字:package

注:

  • 每一类都应该在一个包中,并且这个类的第一行必须明确这个类的包路径(也就是明确这个类是属于哪个包的)
  • package com.qf.test;

    public class Test{

    }

  • 一个类的完整路径(类全名、全类名)
  • com.qf.test.Test;


    1.2 包的命名

    规则:由数字、字母、下划线、美元符组成,数字不能开头

    规范:全小写,用 “.” 来划分不同层级的文件夹,经常使用域名倒着写。

    一般包名的定义:

  • 实体类:entity、domain、pojo、vo
  • 工具类:util
  • 测试类:test
  • 数据库相关:dao
  • 业务逻辑层:business、service
  • 控制层:controller

  • 1.3 导入

    导包:当一个类中使用到了其他包中的类时,需要将这个类的资源引入进来。

    注:同包中其他类的访问是不需要导包的。

    导入的关键字:import

    import 完整包名.类名;

    按需导入:

    import java.util.*;
    可以代替
    import java.util.Random;
    import java.util.Scanner;
    ...

    注:java.lang 中的类不需要手动导入,会自动导入

    二,范围(权限)修饰符

  • public:公共的、公开的
  • protected:受保护的
  • [default]:默认的,在方法、成员变量前不定义任何范围修饰符
  • private:私有的
  • 注:范围修饰符只能修饰成员

    public protected [default] private

    本类中 可以 可以 可以 可以

    同包不同类 可以 可以 可以 不可以

    不同包的子类 可以 可以 不可以 不可以

    不同包的无关类 可以 不可以 不可以 不可以

    适用场景:

  • public:对外提供公共方法
  • protected:父类功能需要其他包中的子类进行功能扩展时
  • [default]:只允许在同包中使用的成员
  • private:属性的私有化,用于辅助当前类中其他功能的执行而不应该直接被外界访问的方法

  • 三,静态

    静态的关键字:static

    3.1 静态的特点

  • 当一个类被加载到内存时,静态成员会随着类的加载而加载
  • 被静态所修饰的成员,不属于对象,而属于类
  • 被静态所修饰符的成员可以直接使用类名进行调用
  • 被静态所修饰的成员是整个类的共享数据
  • 静态成员只能访问静态的,不能访问非静态的;非静态的成员既能访问静态的也能访问非静态的
  • 静态成员不能访问 super 或者 this
  • 静态只能修饰成员

  • 3.2 静态代码块

    格式:

    /**
    * @Author yqq
    * @Date 2021/4/14 22:32
    * @Version 1.0
    */
    public class StaticDemo {
    static {
    System.out.println("我是帅逼,我优先,不管你加载几次,而且我只在你生命中出现一次");
    }
    public void method(){
    System.out.println("我不帅,每次加载我,我都执行");
    }

    public static void main(String[] args) {
    StaticDemo s=new StaticDemo();
    StaticDemo t=new StaticDemo();

    s.method();
    t.method();
    }
    }
    /**
    * 我是帅逼,我优先,不管你加载几次,而且我只在你生命中出现一次
    * 我不帅,每次加载我,我都执行
    * 我不帅,每次加载我,我都执行
    */

    特点:

  • 静态代码块最优先执行
  • 静态代码块只会执行一次
  • 作用:

  • 读取配置信息,加载配置内容
  • 对静态属性进行一次性的赋值
  • 适用场景:

  • 共享数据
  • 注:多个静态代码块会根据书写的先后顺序依次执行

    3.3 静态常量



    public static final 数据类型 变量名 = ;



    上一篇:Java-多线程
    下一篇:没有了
    网友评论