栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

包的命名规则
包命名规则:

包名全部由小写字母(多个单词也全部小写);
如果包名包含多个层次,每个层次应该用“.”分割;
包名一般由倒置的域名开头,比如com.baidu;——不要有www
自定义包不能java开头;
包的作用
有利于类的查找与管理。一个软件由很多类构成,这些类按其功能可分为vo类、dao类、工具类、service类、controller类等,将这些类按其功能分门别类地放在不同包中有利于类的查找与管理;
解决了同名类命名冲突;
有利于保护类中的成员变量及其方法。类中成员变量及其方法前面的访问控制符决定了该变量和方法的使用范围;
访问修饰符
软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰符有4中

Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。
public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
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(公共的)的话,随便其他人都可以改变他血液的状态,你随便把他的血液值设为逆流,那他不就挂了.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/852151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号