1--类修饰符
1.1 public 公共类,一个类被声明为public,表明它可以被所有其他的类所引用和访问。java中的类可以通过包的概念来组织,处于一个包中的类可以不需要任何说明而方便地互相访问和引用。而对于其他不再同一包中的类,一般来说,是不见的。当然也不鞥互相访问和引用。但是,如果被声明public时,就具备了被引用和访问的条件,只要import导入就ok了。
1.2 缺省的。一个类没有修饰符,就是缺省的。只能被同一个包中的类互相访问和引用。不能被其他的类引用和访问。
1.3 abstact 抽象类不能被实例化,只有方法的声明,而没有方法体的实现。只能通过子类来实现具体的功能。
1.4 final 该类不能被继承即没有子类。
2--域修饰符
2.1 非访问空孩子符
2.11 static 静态域,属于类的公共域,为该类所有对象所共享。可以看作是全局变量
2.12 final 常量,必须初始化(格式一般大写)
2。13 volatile 可被几个线程所控制和修改。通常,olatile用来修饰接受外部输入和域。如表示当前时间的变量将有系统线程随时修改,以保证程序取到当前系统时间。
2。2 访问控制符
2.21 public
2.22 缺省
2.23 protected
2.24 private
3---方法修饰符
3。1 非访问控制符
3.11 atstract
3.12 static
3.13 final
3.14 native(可以调用其他语言(c,c++)等外部语言程序。
3.15 synchronized(同步方法)线程的安全性。
3.2 访问控制符
3.21 public
3.21 private
3.23 protected
3.24 缺省(友好)
访问控制符权限具体如下:
1。public 权限最大的,不仅在同一包中,同一类中,而且在不同包中,也可以直接访问.(不同包中访问,必须import)。
程序如下:a。同一个类中就不说了,肯定可以访问自己类中的成员变量和成员方法,但是如果修饰符还有static,则应该区别对待。
b。子类中。同一包,不同包中都开一被访问。
2。缺省的 只能被同一个包中的类访问和引用
3。protected 同一个类和同一个包中的类访问和引用
4。private 只能被同一个类中访问自己的私有成员变量和方法
package pack1;
class Parent
{
public String name;
private String sex;
protected String address;
int age; //缺省(友好)
Parent(String s){ this.name=s;};
public void setName(String s)
{ this.name=s; }
public String getName()
{ return name; }
public void setSex(String sex)
{ this.sex=sex; }
public String getSex()
{ return sex;}
public void setAddress(String add)
{ this.address=add; }
public String getAddress()
{ return address; }
public void setAge(int a)
{ this.age=a; }
public int getAge()
{ return age;}
}
class Son extends Parent
Son(String s)
{
super(s);
}
public class ModificationPublicTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//in the same package
Parent par = new Parent("Lao Wu");
System.out.println("Name:"+par.name); //modification is public
//System.out.println("Sex:"+par.sex); //error: sex is private
System.out.println("Address:"+par.address);//modification is protected
System.out.println("Age:"+par.age); // age is friendly
//in the extends class(son class)
Son son = new Son("Xiao Wu");
System.out.println("Name:"+son.name); //modification is public
//System.out.println("Sex:"+par.sex); //error sex is private
System.out.println("Sex:"+son.getSex());//面象对象的封装
System.out.println("Address:"+son.address);//modification is protected
System.out.println("Age:"+son.age); // age is friendly
}
package pack2;
import pack1.*;
public class ModificationTest {
public static void main(String args[])
{
//Parent parOther = new Parent("Lao Li"); //error-->The type Parent is not visible
//beacuse The modification of parent class is friend(缺省的)
/* 所以修饰符为缺省的类只能被同一包中的类引用和访问
* 而另外包中的类要引用和访问其它包中的类,被访问类必须是public
*/
非访问控制符如下:-----------------------------------------------------
1。final final可以修饰方法,成员变量和类
a--》修饰成员变量是,可以在定义时赋值,也可以在构造函数时赋值。
b--》修饰方法和类,表示该类或方法是不可扩展的。即不能extends。
2。abstract 抽象类(抽象类很多知识点)。
3。static 类变量或者类方法,可以直接通过类名调用,而不用生成对象。
4。native 本地方法,可以调用非java程序,完成特殊的功能
5。synchronized synchronized 修饰符主要是用于多线程共存的程序中的协调和同步。