对于继承,static :hide;non static :override.
  
关键字:包访问权
当属性或方法前不声明访问权是默认为包访问权.
具有包访问权的方法或者属性只能被同一个包内的其他类访问.
处于相同目录的类之间具有默认的包访问权限.即可以访问其他文件的包访问权限方法.
//处于不同包类不能访问具有包访问权限的方法或属性.
package animal;
public class animal
{
 void bite()
 {
 System.out.println("bite");
 }
}
package test;
import animal.*;
public class test
{
   public static void main(String args[])
   {

       animal animal=new animal();
       animal.bite();//因为bite()只具有包访问权
}
}
// 处于相同目录的类之间具有默认的包访问权限.即可以访问其他文件的包访问权限方法.
public class test
{
   public static void main(String args[])
   {
   animal animal=new animal();
   animal.bite();
  }
}
public class test
{
   public static void main(String args[])
   {
   animal animal=new animal();
   animal.bite();
  }
}

package test;
import animal.*;
public class dog extends animal    继承但是不属于同一个包
{
   public static void main(String args[])
   {
      dog dog=new dog();
      dog.bite();//bite只是具有包访问权

   }
}
PROTECTED 关键字:继承访问权限! 
导出类可以使用在基类定义为PROTECTED的方法,对于同一个包的非继承关系类具有包访问权!
在同一个包中,可以通过在子类中超类的实例来访问超类的protected变量,而不在同一个包中,就不能这样做
protected 指定该变量可以被同一个包中的类或其子类访问,但是不能通过超类的实例来实现,在子类中可以覆盖此变量
public class animal
{
 protected void bite()
 {
System.out.println("bite");
 }
}
public class test
{
   public static void main(String args[])
   {
   animal animal=new animal();
   animal.bite();
  }
}
导出类可以使用基类的PROTECTED方法
package animal;
public class animal
{
 protected void bite()
 {
 System.out.println("bite");
 }
}

package test;
import animal.*;
public class dog extends animal
{
   public static void main(String args[])
   {
      dog dog=new dog();
      dog.bite();//bite只是具有包访问权
}
}
Private关键字
具有Private关键字的方法只能被定义该方法的内部
public class animal
{
  private String s="fasf";
  private void test()
  {}
 protected void bite()
 { System.out.println("bite");}
}
public class test
{
   public static void main(String args[])
   {
   animal animal=new animal();
   //animal.s="fafaf";  can not access private
  // animal.test();    can not access private 
   animal.bite();
  }
}
//私有构造函数
class privatetest
{
    private privatetest()
    {}
    public static privatetest make()
    {
    return new privatetest();
    }
    public void f()
    {
  System.out.println("success");
 }
}
public class test
{
   public static void main(String srgs[])
   {
       privatetest pt=privatetest.make();
       pt.f();
 }
}
类的访问权限  类的访问权限只能是缺省或者是"public"
//包访问权限:
package animal;
 class animal
{
 protected void bite()
 { System.out.println("bite");}
}
package test;
import animal.*;
public class test
{
   public static void main(String args[])
   {  animal animal=new animal();  // can  not access from outside package;
       animal.bite();//因为bite()只具有包访问权
     }
}