tyn*_*ynn 7 java android inner-classes android-lint android-studio
我正在重构一个正在变大的android项目.运行lint为我提供了JSME问题 外部和内部类之间的私有成员访问.考虑以下示例
public class Outer {
private Inner mInner = new Inner();
private class Inner {}
}
Run Code Online (Sandbox Code Playgroud)
我得到了这些信息
Name
private field Inner mInner
Location
class Outer (default package)
Problem synopsis
Access to private member of class 'Inner' at line 2
Problem resolution
Make 'Inner' constructor package-local
Run Code Online (Sandbox Code Playgroud)
应用问题解决方案会将源更改为
public class Outer {
private Inner mInner = new Inner();
private class Inner {
Inner() {}
}
}
Run Code Online (Sandbox Code Playgroud)
我此刻有点困惑.到现在为止,我认为这个例子相当于
public class Outer {
private Inner mInner = new Inner();
private class Inner {
public Inner() {}
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下我错了还是皮棉问题?
\n\n在类类型中,如果该类声明为 public,则默认构造函数将隐式赋予访问修饰符 public (\xc2\xa76.6);如果该类被声明为 protected,则默认构造函数会隐式地赋予访问修饰符 protected (\xc2\xa76.6);如果该类被声明为私有,则默认构造函数将隐式赋予访问修饰符 private (\xc2\xa76.6);否则,默认构造函数具有无访问修饰符隐含的默认访问权限。
\n
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |