thinking in java 4访问权限控制

1.包(库单元),包内包含有一组类,他们在单一的名字空间下被组织到了一起,按照惯例,package的第一部分是类的创建者的反顺序的Internet域名。因为internet域名是唯一的不会和别人的冲突。java编译过后,程序运行并且需要加载.class文件的时候,他就可以确定.class文件在目录上所处的位置(java解析器获取包的名称,根据包名将"."根据不同的操作系统置换为/或者\,加上CLASSPATH环境变量就得到了完整的路径)。
2.private

//User类:
public class User {
private String uname;

private User() {

}
static User makeUser(String name)
{
return new User(name);
}
private User(String uname) {
this.uname = uname;
}

public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
//main:
public static void main(String[] args) {
User u =User.makeUser("rose");
//User对象中的构造方法是私有的
//必须通过调用makeUser的静态方法来达到创建User对象的目的
}

注意:子类不能直接使用和读取父类的private数据,要通过父类提供的public access方法,即getter和setter。因为User类中的构造器是private的,继承的时候子类会自动调用父类的无参构造函数,但此函数又不存在,子类会报错( Implicit super constructor SuperClass() is undefined for default constructor. Must define an explicit constructor),所以这里的User类不能被继承。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值