Java类和类成员的访问权限修饰符

时间:2021-04-01 15:09:53
一:访问修饰符:
1.省略访问修饰符
具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用。
2.public访问修饰符
用于说明类和类的成员的访问权限。这种类叫公有类。在一个文件中只能有一个public类型的类。
例如:Rect和UseImport两个类,分别在两个不同的包中。顺便回顾一下不同类要用import导入。(哎,一直就没记住)
 //Rect.java
 pacakage my;
 public class Rect
{
  private int a,b;
  public void init(int len,int width)
 {
   a=len;
   b=width;
 }
 public int area()
 {
 return a*b;
 }
}
//UseImport.java
import.my.*;//导入my 包的所有类
public class UseImport
{
  public static void main(string[] args)
  {
    Rect x=new Rect();
    x.init(2,3);
    System.out.println("矩形面积为:"+x.area());
  }
}
3.private
用private修饰的类成员成为私有成员,只能在声明该成员的类中使用,不能在类外使用。一般通过本类中公有方法进行访问。
4.protected
protected修饰的类成员为保护成员,可以被三种类使用,分别是该类本身,该类的所有子类,该类同包的其他类,该类的子类。
5.private protected
私有保护成员。可被两种类使用。分别是:该类本身和该类的所有子类。
二:特征修饰符
1.abstract:抽象
修饰类为抽象类,修饰方法为抽象方法。只要类中有抽象方法,就必须定义为抽象类。抽象方法只能声明,不能实现。但是可以在其子类中对抽象方法进行实现。抽象类中也可以包含非抽象方法。
2.final:最终
修饰的类为终止类,不能有子类。修饰变量为终止变量,只可赋值一次。修饰方法为终止方法,不能在子类中更改。如Socket、ServerSocket等都是final类,防止黑客派生子类进行破坏。同时,final与abstract是相互矛盾的。
3.static:静态
静态成员无需通过对象调用,可以直接通过类名直接调用。
public class RectArea//输出6 和 12
{
 public static void main(String[] args)
  {
    System.out.println(area(2,3));
    System.out.println(area(3,4));
   }
 static void area(int a,int b)
  {
    return a*b;
  }
 }
4.native
用native修饰的为本地方法。它修饰的方法在程序外部使用其他编程语言编写。(这个步骤比较多,所以就木有继续研究了)
5.synchronized
修饰的方法为同步方法。