美文网首页JavaJava 杂谈
java包及访问控制权限

java包及访问控制权限

作者: 4553675200ad | 来源:发表于2019-05-16 20:31 被阅读0次

包的命名规则

包命名规则:

  • 包名全部由小写字母(多个单词也全部小写);
  • 如果包名包含多个层次,每个层次应该用“.”分割;
  • 包名一般由倒置的域名开头,比如com.baidu;——不要有www
  • 自定义包不能java开头;

包的作用

  • 有利于类的查找与管理。一个软件由很多类构成,这些类按其功能可分为vo类、dao类、工具类、service类、controller类等,将这些类按其功能分门别类地放在不同包中有利于类的查找与管理;
  • 解决了同名类命名冲突;
  • 有利于保护类中的成员变量及其方法。类中成员变量及其方法前面的访问控制符决定了该变量和方法的使用范围;

访问修饰符

软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰符有4中

  • Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。
    public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
  • protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
  • 默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
  • private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在 定义它们的类中被操作或使用;
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "id", columnDefinition = "bigint(20) NOT NULL AUTO_INCREMENT")
    //属性保护
    protected long id;
    @Version
    @Column(name = "version")
    long version;
}
@MappedSuperclass
public class ApcBaseEntity extends BaseEntity {

private static final long serialVersionUID = 1L;

    @Column(name = "created_time", columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'")
    //属性保护
    protected DateTime createdTime;

    @Column(name = "updated_time", columnDefinition = "datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'")
    //属性保护
    protected DateTime updatedTime;
    
    public DateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(DateTime createdTime) {
        this.createdTime = createdTime;
    }

    public DateTime getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(DateTime updatedTime) {
        this.updatedTime = updatedTime;
    }
    //覆盖父类的方法
    public long getId() {
        return id;
    }

private在英文里是私人的意思.
众所周知,JAVA是面向对象的一门语言,每个对象都有各自的属性和方法.但是有的属性涉及安全因素或秘密因素不能让外面的程序调用,所以就用到了private,
经过它定义的变量只能在此对象内部调用,外部程序就无法调用,也就是说只能供其自身调用,比如某个人是一个对象,那么他的血液就肯定是私有变量,只能供其自身调用来维持人的状态.而如果将血液定义成public(公共的)的话,随便其他人都可以改变他血液的状态,你随便把他的血液值设为逆流,那他不就挂了.

相关文章

  • java包及访问控制权限

    包的命名规则 包命名规则: 包名全部由小写字母(多个单词也全部小写); 如果包名包含多个层次,每个层次应该用“.”...

  • Java & Groovy & Scala & Kotlin -

    Overview 本章主要介绍各语言中的包和访问权限控制。 Java 篇 包 创建包 Java 使用关键字 pac...

  • java权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制。在讨论访问权限控制之前,先来讨论...

  • Java访问控制符

    Java访问控制符的访问权限

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • scala:field

    访问权限private(当前类)package权限(java中的默认权限),指定特定包访问private[包名]p...

  • 包及访问控制权限

    1、包的作用 完整的类名应该包含包,所有类都应该有包 包的作用就是防止类重名而报错,多人开发时经常使用。pack...

  • Java编程思想(第四版)学习笔记(7)

    第六章 访问权限控制 1.访问权限控制的等级 从最大权限到最小权限依次为:public、protected、包访问...

  • 【Java进阶营】java包及访问控制权限

    包的命名规则包命名规则: 包名全部由小写字母(多个单词也全部小写);如果包名包含多个层次,每个层次应该用“.”分割...

  • 6、访问权限控制(封装)

    访问权限限制等级,从大到小依次为:public, protected, 包访问权限, private访问权限的控制...

网友评论

    本文标题:java包及访问控制权限

    本文链接:https://www.haomeiwen.com/subject/grhdaqtx.html