「java通用权限」Java开发企业级权限管理
本篇文章给大家谈谈java通用权限,以及Java开发企业级权限管理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java访问控制权限有哪些
java中成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private。
Public:权限最大,允许所有类访问,但其他包下的类想要访问需使用import关键字将这些public类导入包中才可使用,换句话说,import将不同包的类导入到一个包下,从而转化为包访问权限下的情况。
Protected:除了提供包访问权限以外,还对继承该类的所有派生类赋予访问权限。
Private:权限最小,只能由包含该成员(域和方法)的类本身访问,其他任何类都无法访问。
不使用这三个关键词时,则提供默认包访问权限,该权限只允许同一个包下(即同一个目录下的Java文件)的类访问该类。
注意:private和protected只能修饰成员,无法修饰类。类要么是public的,要么是包访问权限。
Java中目前学习涉及到的四种权限修饰符都有什么?并说明各自的权限范围
(1)public : 公共权限
修饰对象: 修饰类、方法、属性
继承: 被public所修饰的成员能被该类的所有子类继承下来。
作用域: 可以被任意类访问
public能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。说到这里,穿插多一点知识。一个类作为外部类的时候只能被public或者默认访问修饰符所修饰,但是一个类如果作为内部类的时候,则可以被四种访问修饰符所修饰,因为一个类作为内部类的时候,就作为外部类的一个成员属性了,因此可以有四种访问修饰符修饰,这是内部类和外部类的一个区别。
public用来修饰类中成员(变量和方法),被public所修饰的成员可以在任何类中都能被访问到。通过操作该类的对象能随意访问public成员。
public在类的继承上的体现,被public所修饰的成员能被所有的子类继承下来。
(2)protected:受保护的权限
修饰对象:修饰内部类,接口,属性,方法
继承: 被protected所修饰的成员能被该类的所有子类继承下来。
作用域: 可以被同包类访问,如果不是同包,必须是该类的子类才能访问
(3)default : 同包权限(默认,缺省的)
修饰对象:修饰类,属性,方法。
继承:被default所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中default修饰的成员)
作用域: 只能被同包的类访问
(4) private : 私有权限
修饰对象 : 内部类,属性,方法
作用域: 只能在本类中使用
注意:
(1)protected不能修饰类。
(2)priavte可以修饰类,但是该类必须是一个内部类。
在定义类时,推荐访问控制级别从严处理:
(1) 如果不允许外部直接通过 new 创建对象,构造方法必须是 private。
(2)工具类不允许有 public 或 default 构造方法。
(3)类非 static 成员变量并且与子类共享,必须是 protected。
(4)类非static成员变量并且仅在本类使用,必须是private。
(5)类 static 成员变量如果仅在本类使用,必须是 private。
(6)若是 static 成员变量,必须考虑是否为 final。
(7)类成员方法只供类内部调用,必须是 private。
(8)类成员方法只对继承类公开,那么限制为 protected。
java如何设置文件的权限
在Java中,文件权限是非常具体的操作系统:* nix中,NTFS(Windows)及FAT/FAT32,都有着别样的文件权限。 Java提供了一些通用的文件权限来处理它。
检查文件权限允许:
1.file.canExecute(); – 返回true,文件是可执行的,false 则不是。
2.file.canWrite(); – 返回true,文件是可写的,false 则不是。
3.file.canRead(); – 返回true,文件是可读的,false 则不是。
设置文件权限:
1.file.setExecutable(boolean); – true允许执行操作; false则是禁止它。
2.file.setReadable(boolean); – true允许读操作; false则是禁止它。
3.file.setWritable(boolean); – true允许写操作; false则是禁止它。
在* nix的系统中,可能需要配置有关文件权限的详细指定,例如设置777权限的文件或目录,但是,Java的IO类没有现成的方法,但你可以使用下面的解决方法:
Runtime.getRuntime().exec("chmod 777 file");文件权限的例子
import java.io.File;
import java.io.IOException;
/×
×只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限是644.
×/
public class FilePermission
{
public static void main( String[] args )
{
try {
File file = new File("/home/test3.txt");
if (file.createNewFile()){
System.out.println("File is created!");
//Runtime.getRuntime().exec("chmod 777 /home/test3.txt");
file.setExecutable(true);//设置可执行权限
file.setReadable(true);//设置可读权限
file.setWritable(true);//设置可写权限
System.out.println("is execute allow : " + file.canExecute());
System.out.println("is read allow : " + file.canRead());
System.out.println("is write allow : " + file.canWrite());
}else{
System.out.println("File already exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
java通用权限的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java开发企业级权限管理、java通用权限的信息别忘了在本站进行查找喔。
发布于:2022-12-10,除非注明,否则均为
原创文章,转载请注明出处。