java other_在Java中,方法成为public / private / other是什么意思?

本文介绍了面向对象编程中方法的访问修饰符,包括public、private、protected等,并解释了它们的作用及如何使用。

小编典典

当一个方法 公开时 ,意味着它可以被其他对象访问

例如:

class David {

// public method, can be use by anyone

public String getName() {

return "David";

}

}

该方法getName可以被其他类访问,因为它是公共的:

class Other {

David davidOne = new David();

String davidsName = davidOne.getName(); //

}

优点..您可以从其他地方使用它。

如果方法是 私有的,*则意味着该方法只能由 同一类的 对象访问*

例如,在这个新定义中:

class David {

public String getName() {

return "David";

}

// private method... nobody but David's "instances" can use it..

private int getAge() {

return 19;

}

}

该方法getAge不能被其他类访问,因为它是私有的,如果尝试这样做,编译器会给您一条错误消息:

class Other {

David davidOne = new David();

String davidsName = davidOne.getName();

int davidsAge = davidOne.getAge(); //

}

但是,如果可以 在 David类中使用它:

class David {

public String getName() {

return "David";

}

// private method... nobody but David's "instance" can use it..

private int getAge() {

return 19;

}

// Here the call to "getAge()" will succeed, because it is visible

// inside the class

public boolean hasSameAgeAs( David otherDavid ) {

return this.getAge() == otherDavid.getAge();

}

}

优势?您可以创建一堆方法并将其保持私有状态,从而避免数据损坏或总体上保留封装的对象

关于封装

在OOP(面向对象程序设计)中,其目的是根据现实生活中的对象对软件进行建模。

现实生活中的对象具有(除其他外)属性和访问这些属性的方法。

您想公开其中一些方法,而另一些保持私有。

例如, 人类 有一颗心。但是它并没有暴露给所有人,这很危险。它被 包裹 在我们体内。

如果我们要以真实的 人类 为模型来建模,我们可以将方法声明为:heartBeat 私有的(因此,没有人可以访问它)

另一方面,采用 公共 方法getGender来查找您的 Human 实例是男性还是女性,这将是有用的。

还有其他访问修饰符,例如:“ protected”和受保护的软件包(其没有关键字)

class David {

// protected method

protected int getBalance() {

return 1000000;

}

// package protected or "default" method

boolean knowsOop(){

return true;

}

}

在那里,该方法getBalance只能由David实例和David子类访问(为子类创建另一个线程)

knowsOop 定义David时,包内的任何人都可以访问该方法。

不用担心这两个访问修饰符,当您了解有关OOP和Java的更多信息时,它们将很有意义。

最后,您应该花时间阅读以下内容:

我希望这有帮助

2020-10-09

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值