黑马程序员技术交流社区

标题: 权限问题 [打印本页]

作者: 吴涛    时间: 2014-3-4 12:09
标题: 权限问题
本帖最后由 吴涛 于 2014-3-5 14:45 编辑

public class Test1 {

    public static void showStr(String str){
        System.out.println(str);
    }
    public static void main(String[] args) {

        String str="1234";
        showStr(str);
      
    }
}
这个类前面有public修饰,public不是修饰类中成员的吗?
对于,类的修饰符和成员变量以及成员函数的修饰符分别都有哪些?
还有,就是,用public修饰和没有东西修饰,权限范围是怎么样的?
作者: Dora    时间: 2014-3-4 12:48
下面是修饰类的权限的修饰符:
public     公共类
default    默认类(即class前什么都不假)
abstract   抽象类
fanal      不能被继承的类
static     静态类
private    只能修饰内部类,一般不推荐使用
作者: Dora    时间: 2014-3-4 12:49
下面是修饰成员变量的权限的修饰符:
(1)public:
对于成员来说:任何其他类都可以访问它们,不管在同一个包中还是在另外的包中。
对于类来说: 也是一样。
(2)friendly:
对于成员来说:如果一个类的成员没有任何权限修饰,那么它就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录 的default package,可以相互调用class中的friendly成员。
(3)private:
对于对于成员来说:只能在该成员隶属于的类中访问。对于类来说:类不可以声明为private。
(4)protected:
对于对于成员来说:相同包中的类可以访问(包访问权限);基类通过protected把基类中的成员的访问权限赋予派生类不是所有类(派生类访问权限)。

作者: Dora    时间: 2014-3-4 13:09
在java中对于类,成员变量,方法的访问控制修饰符就只有四种:public,protected ,default(就是默认,什么都没写的情况),private的。
Public访问无限制;
Protected :同一个类的,同一个包内的子类,不同包内的子类
Default:同一个类的,同一个包内的子类
Private:同一个类。


作者: Dora    时间: 2014-3-4 13:11
对于第一个回答有些许错误,abstract,final,static只是修饰符,不是访问权限修饰符,java中访问权限修饰符只有四个public,protected,default(默认什么都不加的),private。




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