构造方法的访问级别之private

构造方法的访问级别:

public、protected、private、默认访问级别都可以。在此重点记录由private修饰的构造方法。

private修饰的构造方法的访问级别:

当构造方法别声明为private时,就意味着只有当前类的方法可以调用它,一:当前类的其它构造方法可以通过this关键字来调用。二:当前类的成员方法可以通过new语句调用它。

把构造方法声明为private的理由:

1、这个类中仅仅包含供其它类调用的静态方法,没有实例方法。这意味着当某个类想要调用该类中的方法时,无需创建该类的实例,即不会触及到该类的构造方法。

2、禁止这个类被继承。

3、这个类需要把自身实现的细节封装起来,不允许其它程序通过new语句来创建这个类的实例。这个类向其他程序提供了获取自身实例的静态方法,这种方法称为静态工厂方法。

 

疑问1:也许有人会有疑问:“用abstract修饰词修饰的类也不可以创建实例,在此和要使用private访问权限词限定构造访问的区别是什么?”

疑问2:final修饰词修饰的类也不能被继承,在此和要使用private访问权限词限定构造访问的区别是什么

 

原因:用private访问权限限定词限定类的构造方法,表示该类既不能被继承又不能创建该类的实例。

        stract,可以被继承,不能创建实例。

        final,不可以被继承,可以创建实例。


Java语言的访问权限修饰符 private default protected public

 


1.私有权限(private)

private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。

2.默认权限(default)

类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。

3.受保护权限(protected)

protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。

4.公共权限(public)

public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。

 

有关Java语言的修饰符,需要注意的问题有如下几个:

1.并不是每个修饰符都可以修饰类(指外部类),只有public和default可以

2.所有修饰符都可以修饰数据成员,方法成员,构造方法。

3.为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private。

4.修饰符修饰的是“被访问”的权限。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值