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

如题所述

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
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-01
public
公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问
private
私有的,和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问
protected
保护,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。
还有一个默认缺省的(就是不加任何修饰的)
缺省,位于private和protected中间,加上这个修饰的属性和方法,只能在同包下的程序访问,别的的地方不能访问