视频: Leap Motion SDK 2024
您可以在Android应用程序中为字段和方法设置访问权限。 Java类可以具有公共访问权限或非公共(默认)访问权限。但是一个班级的成员有四种可能性:公开,私人,默认和保护。
类的字段和方法是类的成员。
以下是成员访问的工作原理:
- 类的默认成员(声明不包含单词
public
,private
或的成员
)可以被与该类相同的包内的任何代码使用。 - 类的私有成员不能在类外的任何代码中使用。
- 一个类的公共成员可以用在任何可以使用类本身的地方;即:
- 任何包中的任何程序都可以引用公共类的公共成员。
- 对于引用默认访问类的公共成员的程序,程序必须与类相同。
要查看这些规则,请查看此代码中的公共类。
package com。 allyourcode。银行;
public class Account {
public String customerName;
private int internalIdNumber;
字符串地址;
弦乐手机;
public int socialSecurityNumber;
int accountType;双重平衡
public
static int findById(int internalIdNumber){ Account foundAccount = new Account();
//找到帐号的代码在这里。
return foundAccount。 internalIdNumber;
}
代码使用
Account
类及其字段。
参考同一个包中的公开课。让我们看看不同的软件包会发生什么。
错误信息指出了代码的一些麻烦。下面是关于这两段代码的事实清单:
UseAccoun
- t类与
Account
类位于同一个包中。 - 类可以创建类型
Account
的变量。UseAccount
类的代码可以引用 - Account
类的公共
customerName字段以及默认的
地址字段
帐户类。
UseAccount
类不能引用 - 帐户
类的私人
internalIdNumber字段,即使
UseAccount和
帐户在同一个包中。
UseAccountFromOutside
类与 - Account
类不在同一个包中。
UseAccountFromOutside
类可以创建类型 - Account
的变量。 (
import声明使您不必在代码中的任何地方重复完整限定的
com.allyourcode.bank.Account名称)
UseAccountFromOutside
班级的代码可以引用 - Account
类的public
customerName字段。
UseAccountFromOutside
类的代码不能引用 - Account
类的默认
地址字段,或者引用到
类的internalIdNumber
帐户
类。现在检查这个代码中的非公共类。package com。 allyourcode。游戏;
class Sprite {
public
String name;
字符串图像;
double distanceFromLeftEdge,distanceFromTop; double motionAcross,motionDown;
private
int renderingValue;
void render(){
if(renderingValue == 2){ //这里做的东西
}
}
}
代码使用
Sprite类和它的字段。
引用同一个包中的默认访问类。让我们看看不同的软件包会发生什么。
引用不同包中的默认访问类。
这些图像中的错误消息指出了代码的一些麻烦。下面是关于这两段代码的事实列表:
类与
Sprite类位于同一个包中。
- UseSprite
类可以创建一个类型为
Sprite的变量。
UseSprite - 类的代码可以引用
Sprite
类的公共名称
字段以及默认的 - distanceFromTop
字段
的Sprite类。
即使使用UseSprite
和Sprite,
UseSprite类也不能引用
Sprite - 类的私人
renderingValue
在同一个包中。
UseSpriteFromOutside类与
Sprite类不在同一个包中。
UseSpriteFromOutside
类不能创建 - Sprite
类型的变量。 (即使是
import声明也不能在这里保存错误信息。)
在 - UseAccountFromOutside
类中,引用
sprite。名字,精灵。 distanceFromTop和
精灵。 renderingValue都是没有意义的,因为
sprite - 变量没有类型。