小编典典

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

例如:

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

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

  1. Java:main()函数调用类中方法的限制

    1.在本类中调用自己的方法,方法必须为静态的,否则报错: 通过递归方法,实现N!的算法. public class TestRecursion {public static void main(Str ...

  2. java 传入参数_Java 中方法参数的传递

    java中方法参数传递看似有两种,值传递和引用传递.而实际上都是值传递. 所谓值传递,传递的是变量的副本就是说,在将变量a作为参数传进方法中时,方法中接收到的是a的副本,在方法中对参数的修改实际上修改 ...

  3. java如何抛出异常_java中 方法中抛出异常处理方法

    展开全部 Java语言提供e69da5e887aa62616964757a686964616f31333366306461两种异常处理机制:捕获异常和声明抛弃异常. 1.捕获异常: (1)在Java程 ...

  4. php中public放什么,PHP中常用关键字public, private, protected, static...

    PHP中常用的关键字:public, private, protected, static, interface, implements, final 1.public.protected.priva ...

  5. dim private public static_PHP中const,static,public,private,protected的区别

    const: 定义常量,一般定义后不可改变 static: 静态,类名可以访问 public: 表示全局,类内部外部子类都可以访问: private: 表示私有的,只有本类内部可以使用: protec ...

  6. java 静态方法覆盖_Java中方法的覆盖和静态方法的隐藏

    下面的程序对巴辛吉小鬣狗和其它狗之间的行为差异进行了建模.如果你不知道 什么是巴辛吉小鬣狗,那么我告诉你,这是一种产自非洲的小型卷尾狗,它们从 来都不叫唤.那么,这个程序将打印出什么呢? class ...

  7. java类同步_Java中方法,对象,类的同步

    关于在多线程环境中使用同步,我需要一些澄清.我在下面有一个小例子类.但我实际上发现很难做出以下内容如何工作的测试用例;我想要测试用例的原因是要了解同步如何处理这些不同的场景 >如果一个线程调用S ...

  8. Java和matlab混合编程 java调用.jar包中方法时参数传递出错的解决办法

    问题描述:懒得重现错误的场景,在别人的描述界面偷了张图(https://bbs.csdn.net/topics/390794513,帖子里面描述了问题但没有提供解决办法qvq) error:The m ...

  9. java字符串string_Java字符串String方法总结

    Java字符串创建与初始化实例.Java字符串String方法总结,包括字符串的大小写替转换,获取字符串长度的方法.截取字符串,去除字符串中的空格.StringBuffer类转换成String类等: ...

  10. java+timer+退出,java timer 兑现在指定时间执行方法

    java timer 实现在指定时间执行方法 最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下. 下面是我写的一些代码 imp ...

最新文章

  1. 零基础如何选择适合的Java培训课程
  2. 创建用户的SHELL小脚本
  3. C#.NET禁止一个程序启动多个实例
  4. 【LeetCode笔记】70. 爬楼梯(Java、动态规划)
  5. 2.5 Go 算术运算与变量使用技巧
  6. 修改npm安装的全局路径和配置环境变量的坑
  7. 计算机体系、语言的基础认识
  8. css3中的box-sizing的用法
  9. windows下的Redis安装:
  10. PVNet(6D姿态估计)
  11. JNI使用NewStringUTF崩溃的解决方法
  12. Java事务处理总结
  13. 嵌入式学习路径之单片机 | 月薪5个k到5个w的路径全在这了
  14. java的regex_java regex 简单使用
  15. 一、Numpy-4.数组的运算
  16. 破解CMOS密码和隐藏文件
  17. 【名企秋招】360公司2017年秋季校招开始喽~ 立即报名
  18. 股市java_Java获取股市交易日
  19. xception in thread “main“ org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualif
  20. 热电阻温度信号隔离变送分配器

热门文章

  1. VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
  2. 搭建简单的企业网站,华为云速建站和阿里建站哪个好?
  3. idea 中 maven Process terminated
  4. java poi 实现word文档分栏遇到的坑
  5. 使用md5进行密码的加密和验证
  6. 猜一猜,我国第一次大规模应用二维码是什么时候?
  7. 110001 《创业的旅途》读后感——坚持梦想,虔诚对待,相信生命的奇迹
  8. TypeScript Property ‘XXX‘ does not exist on type ‘never‘
  9. 【Unity2D好项目分享】提高游戏人物打击感
  10. webkit-scrollbar应用