包和权限修饰符

修饰符

1. 包和权限修饰符

1.1 包

​ 包其实就是文件夹,用来管理我们的类的。一个类的全类名其实是包名加类名(在java中要求全类名是不能重复的)。

1.1.1 包的定义格式

​ 在类的最上面加上 package 包名;

例如

package com.sangeng;
1.1.2 导包

​ 当我们在一个类中使用另外一个类的时候,如果这个类在另外一个包下。我们必须要写全类名或者导包(如果是在java.lang包下的类我们也不需要)。

格式:import 全类名;
例如

import java.util.Scanner;

1.2 权限修饰符

​ 我们使用权限修饰符来控制被修饰的成员的使用权限。Java中有四种权限修饰符:public,protected,default(default并不是关键字,而是代表不写权限修饰符),private

1.2.1 权限

​ 被不同的权限修饰符修饰后,被修饰的成员可以在不同范围内被使用。

本类中 同一个包下 子类 不同包非子类
public
protected
默认
private
1.2.2 使用规律总结

​ 我们在工作中一般不使用默认的权限。如果一个成员我们只想在本类中使用我们就使用private修饰。如果我们想只被本类和子类使用可以使用protected。如果可以被人任意使用,我们使用public。

2. static

​ static是一个修饰符,被其修饰的成员就属于类了。会被类的所有对象所共享。

2.1 静态成员的调用格式

​ 无论是成员变量,还是成员方法。用static修饰后我们即可以用对象名来调用也可以用类名来调用。一般都使用类名称进行调用。

​ 静态变量:类名.静态变量名
​ 静态方法:类名.静态方法名(参数)

例如

class Student{
	public static int num;
    public static void test(){}
}
class Demo{
    public static void main(String[] args){
        Student.num = 10;
        Student.test();
    }
}

2.2 注意事项

​ 1.静态方法中不能直接使用非静态的成员

​ 2.静态方法中不能使用this

2.3 理解

​ 因为被static修饰的东西就属于类了,所以可以使用类名来调用
​ 因为被static修饰的东西就属于类了,类的加载优先于对象,所以在静态方法中,不能使用非静态的成员(PS:非静态的成员是属于对象),类出现的时候对象还不存在,所以不能使用还不存在的东西
​ 因为被static修饰的东西就属于类了,而this代表的某个对象,类加载的时候对象还没创建,所以在静态方法中不能使用this,因为对象都没有出现呢

2.4 使用场景

​ ①如果需要共享数据,可以使用static
②如果想要方便调用某些成员,可以使用static修饰(PS:因为就可以直接用类名来调用,不需要创建对象)

3. final

​ final可以修饰类,成员方法,局部变量,成员变量。

​ 修饰后的作用如下:
​ ①可以修饰类,被final修饰的类不能被继承.
​ ②可以修饰成员方法,被final修饰的成员方法不能被重写
​ ③可以修饰局部变量,被final修饰的局部变量就变成了常量,赋值之后就不能被修改
​ ④可以修饰成员变量,被final修饰的成员变量就变成了常量,一旦赋值之后就不能被修改.并且必须初始化。有两种初始化方式,一种是直接赋值,另外一种是要在类的所有的构造方法中对其进行赋值.

相关推荐

  1. 权限修饰符

    2024-03-29 07:48:01       16 阅读
  2. 多态、权限修饰符、内部类,Object类,Date类

    2024-03-29 07:48:01       26 阅读
  3. C++(4) 面向对象&类、权限修饰符

    2024-03-29 07:48:01       30 阅读
  4. c# refout参数修饰符

    2024-03-29 07:48:01       36 阅读
  5. 组件v-model自定义v-model修饰符(vModelText)

    2024-03-29 07:48:01       40 阅读
  6. vue的事件修饰符常用的按键别名

    2024-03-29 07:48:01       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 07:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 07:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 07:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 07:48:01       20 阅读

热门阅读

  1. Pytorch:torch.stack 和 torch.as_tensor

    2024-03-29 07:48:01       15 阅读
  2. llama.cpp 编译安装@Ubuntu

    2024-03-29 07:48:01       25 阅读
  3. 设计模式一详解

    2024-03-29 07:48:01       17 阅读
  4. 每天一个数据分析题(二百三十七)

    2024-03-29 07:48:01       20 阅读
  5. admin端

    admin端

    2024-03-29 07:48:01      20 阅读
  6. 滑动模块-力扣-下一个排列

    2024-03-29 07:48:01       22 阅读
  7. 汇编开关atapi设备

    2024-03-29 07:48:01       16 阅读
  8. 实时数据库测试-汇编小程序

    2024-03-29 07:48:01       18 阅读
  9. openEuler 22.03 安装 .NET 8.0

    2024-03-29 07:48:01       22 阅读
  10. kotlin使用validation注解无效

    2024-03-29 07:48:01       21 阅读
  11. python中对象赋值、引用与拷贝的理解与应用

    2024-03-29 07:48:01       18 阅读
  12. 护网行动HW中的蓝队和红队的区别和关系?

    2024-03-29 07:48:01       20 阅读