java类属性默认private,Java的访问控制中默认,public,private,protected什么区别?举例说明...

Java的访问控制中默认,public,private,protected什么区别?举例说明

mip版  关注:76  答案:3  悬赏:10

解决时间 2021-01-25 08:52

af624f8b56e8f2bfb692ad6fef000468.png

已解决

2021-01-25 05:31

Java的访问控制中默认,public,private,protected什么区别?举例说明

最佳答案

34161650ae967783bd59f1c4a9a697e7.png

2021-01-25 06:13

Java

的访问控制机制说明:1.任何声明为public的内容可以被从任何地方访问。 2.被声明成private的成员不能被该类外看到。

3.如果一个成员不含有一个明确的访问说明,马克-to-win,它只对同包可见, 不同包不可见。这是默认访问。

4.protected是同包都可见,且子类都可见。

以下就上表中的一些难于理解的知识点给出实例进行分析:

2.1 以下例子说明:1)子类可以访问protected 2)同一包中非子类(Test)可以访问protected。

you can use protected to access the value in the super class.

例1.2.1

class AMark {

protected int i;

public void printI() {

System.out.println("i=" + i);

}

}

class B extends AMark {

public void printIInB() {

System.out.println("in B i=" + i);//子类可以访问protected

}

}

public class Test {

public static void main(String[] args) {

。。。。。。。。。。。详情网上找“马克-to-win”,参考他的网站或他的百度空间:java第三章的内容,如果实在找不到,按我下面说的地址找:

网站名是:mark-to-win.com

再附加上下边的路径地址: /JavaBeginner/JavaBeginner3_web.html#InheritanceAccessControl

全部回答

86ae9450e31ec1f756088118238a7da8.png

1楼

2021-01-25 06:55

public

公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问

private

私有的,和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问

protected

保护,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。

还有一个默认缺省的(就是不加任何修饰的)

缺省,位于private和protected中间,加上这个修饰的属性和方法,只能在同包下的程序访问,别的的地方不能访问

eb6d995177a7179aaffe4621a286084a.png

2楼

2021-01-25 06:41

1,公有访问控制符public: java的类是通过包的概念来组织的,包氏类的一个松散的集合。处于同一个包中的类可以不需要任何说明而方便的互相访问和引用,而对于不同包中的类,则不行。但当一个类被声明为public时,他就具有了被其他包中的类访问的可能性,只要这些其他包中的类在程序中使用import语句引入public类,就可以访问和引用这个类。 类中被设定为public的方法是这个类对外的接口部分,避免了程序的其他部分直接去操作类内的数据,这实际就是数据封装思想的体现。 每个java程序的主类都必须是public类,也是基于相同的原因。 用public修饰的类的域称为公共域。如果公共域属于公共类,则它能被所有的其他类所引用。public修饰符会造成安全性的数据封装性下降,所以一般应减少public域的使用。 2,缺省访问控制符: 缺省访问控制权规定,该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用,这种访问特性又称为包访问性。 同样道理,类内的域或方法如果美育访问控制符来限定,也就具有包访问性。 简单说,定义在同一个程序中的所有类属于一个包。 3,私有访问控制符private : 用private修饰得域或方法只能被该类自身所访问和修改,而且不能被任何其他类(包括该类的子类)来获取和引用。private修饰符用来声明那些类的私有成员,它提供了最高的保护级别。 4,保护访问控制符protected : 用protected修饰的成员变量可以被三种类所引用:该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。 5,私有保护访问控制符 private protected : 用private protected修饰的成员变量可以被两种类访问和引用,一种是该类本身,一种是该类的所有子类。把同一个包内的非子类排除在可访问的范围之外,使得成员变量更专于具有明确继承关系的类,而不是松散地组合在一起的包。 另记:内部类的修饰字还可以是private:即只有外层类的区域可以访问。

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值