黑马程序员技术交流社区

标题: 加public 和不加public的区别 [打印本页]

作者: 许大虾    时间: 2013-5-25 00:43
标题: 加public 和不加public的区别
本帖最后由 许大虾 于 2013-6-4 21:20 编辑

写一个方法:

static void Test(int a)
        {
           
        }
--------------

和这样写

pubilic static Test()
{

}
--------------------
两者什么区别啊

作者: 黑马-雷钊    时间: 2013-5-25 00:54
你好,这个假如只是普通调用的话区别就不大。因为一个是公有权限,一个是默认权限。假如不是普通调用。而是继承父类。复写父类的方法的话。那么只要父类是public子类也必须加上public。否则就会报错。其实这两个权限也是有他们各自的权限领域的。感兴趣可以上网看看
作者: 黑马-雷钊    时间: 2013-5-25 00:55
。。不对啊  朋友   你下面的函数没写返回类型呢。。就写了个静态{:soso_e113:}
作者: 神之梦    时间: 2013-5-25 01:48
楼主的两代码除了public之外还有好几个不同啊,如楼上说的第二个没返回值类型,还有就是形参。
如果楼主只是想表示两代码public的区别的外,其他就先略过吧。。

楼上哥们已经说差不多了,只是权限的不同而已,public表示的公有权限要大于默认的权限,默认权限在java中称为default,他的权限范围是在同一个类中或者同一个包中。
而public代表公有,也就是谁都可以使用,还有protected和private俩权限修饰符。通俗的讲就是public公有的,每个人都可以用,像公共厕所。而default就限定了只有部分人可以有。就像女厕所。。{:soso_e110:}比喻的不是很形象,希望楼主理解...
除了楼上说的继承权限上的应用外,
在包与包之间的访问上,被访问的包中的类以及类中的成员,需要public修饰,否则会报错...也许还有其他方面也有,待补充...
作者: jagon    时间: 2014-3-12 12:06
(这是我总结的一部分,你看看吧!)
名称:public
解释:访问权限修饰符的一种,公开,公共的意思。
用法:用来修饰类,成员变量,成员函数。对于外部的任何类都能够访问。
例子1:
        public class Student      //修饰类
{
                public String name;   //修饰成员变量
                public void display()   //修饰成员函数
{
                        System.out.println(name);
}
}
例子2:
public class MyPublicClass           //修饰外部类
{
public class MyPrivateClass      //修饰内部类
{
}
public int i;                     //修饰成员变量
public String myMethod()       //修饰成员函数
{
<statements>
}
}
注释
(1)可能只会在其他任何类或包中引用public类、成员函数或成员变量。
(2)所有类成员的默认访问范围都是package访问,也就是说,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2