编译程序出现一个: 可访问性不一致; 产生的原因和解决方法

我在google搜的原因和方法:
http://blog.csdn.net/SkyIsland/archive/2006/04/15/664716.aspx

出现原因,其中一个是返回参数的访问级别小于函数的访问级别,
怎么说呢?
就是当定义一个返回参数的方法的时候,如果返回参数的访问级别低于方法的访问级别就会出现这样的错误,从OO来说,这个是可以理解的,如果返回的参数不能被访问,那么定义的返回的方法也是错误的.

那么定义返参方法的时候,返回参数可访问级别一定要大于或等于方法的可访问级别.



 

protected User getUserById(int userId)
{
  User u 
=null;
  
//some create user 
  return u;
}


private class User
{
  
private int _userId ;
  
public User(int userId)
  
{
    _userId 
= userId;
  }

}


如果以上代码,这个是不能被编译器编译通过的, 其原因就在于返参的可访问性低于了返参方法的可访问性.

原文地址:https://www.cnblogs.com/king_astar/p/548202.html