文档介绍:java修饰符Java修饰符武汉理工大学软件10030121010680310Java修饰符用于类与类的成员(构造方法、方法、数据和类级块),但final修饰符也可以用在方法中的局部变量上。可以用在类上的修饰符称为类修饰符(classmodifier)。可以用在方法上的修饰符称为方法修饰符(methodmodifier)。可以用在数据域上的修饰符称为数据域修饰符(datamodifier)。可以用在类级块上的修饰符称为块修饰符(blockmodifier)。一、四个访问修饰符:1、private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有的,只对本类可见不能通过对象点的方式访问数据现在来说说为什么要把数据定义为私有把数据定义为私有通过公有方法来访问数据,,就不能被外部类所访问了比如说你在一个类中有这样的定义:PackageA;classtest{privateintn;privateintm;};classtext{publicstaticvoidmain(String[]arg){testx=newtest();ints=;}},private是不可访问的;只能在同一类中访问的;(){returnn;}publicintgetm(){returnm;}然后在调用的时候s=();2、public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用,对一切可见如果在类的修饰符中用了public,:PackageA;classtest{publicintn;publicintm;};classtext{publicstaticvoidmain(String[]arg){testx=newtest();ints=;}}编译成功,运行通过。3、protected对于子类、同级类来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private,对所有子类和本包可见(当前目录中类,子目录不行)在某个类中定义的protected方法和属性和默认权限方法和属性是一样的。比如,某类的protected方法和属性在包外是不能通过该类对象进行访问的(你能在包外访问一个类的默认权限的方法和属性吗,当然不能),这就是为什么在某对象所在的包的以外的任何地方,你不可以通过该类的对象引用来调用它的protected方法和属性,哪怕是在该类的子类中也不可以这样做。在该类包外的子类中能“看到“的只是子类自己继承来的protected方法和属性,它是不能“看到“它的父类对象的protected方法和属性的。packagea;lassA{protectedinta;}packageb;;lassBextendsA{publicstaticvoidmain(Stringargs[]){Bb=newB();=1;//这句是可以通过编译,并能正确执行的Aa=newA();=1;//这句是不能通过编译的}}在不同包中的继承类中,子类是不能对父类的protected方法进行访问的,但是可以继承。4、default默认值(不用访问修饰符时)对本包可见,即只能在同一个包里面的。注意:,类的访问控制修饰符只能是public或者没有修饰符(即默认的访问控制符),默认的访问控制符的含义是在同一个包内形如public可被任意调用,但是对另一个包的类则是不可见的..,main()是整个程序的入口,需要被java虚拟机调用。如果是非public的话对虚拟机是不可见的二、static的用法常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static成员的最常见的例子是main()。因为在程序开始执行时必须调用main(),所以它被声明为static。声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝