首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Main方法看不到同一个包中的public方法?

Main方法看不到同一个包中的public方法的原因是因为Java中的访问修饰符规定了不同级别的访问权限。在同一个包中,public修饰的方法可以被其他类访问,但是Main方法是一个特殊的入口方法,它是静态方法,属于类级别的方法,而不是对象级别的方法。因此,Main方法只能访问同一个类中的静态成员(包括静态方法和静态变量),而不能直接访问同一个包中的非静态方法。

如果想要在Main方法中访问同一个包中的public方法,可以通过创建该方法所在类的对象来调用该方法。例如,假设有一个类名为MyClass,其中包含一个public方法名为myMethod,可以在Main方法中创建MyClass的对象,然后通过该对象调用myMethod方法。

示例代码如下:

代码语言:txt
复制
package com.example;

public class MyClass {
    public void myMethod() {
        // 具体的方法实现
    }
}

public class Main {
    public static void main(String[] args) {
        MyClass myObject = new MyClass();
        myObject.myMethod(); // 调用同一个包中的public方法
    }
}

在上述示例中,通过创建MyClass的对象myObject,然后使用myObject调用myMethod方法,实现了在Main方法中访问同一个包中的public方法。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 main 方法public static void ?

---- 文章目录 1、为什么main方法是静态(static) 2、为什么main方法是公有的(public) 3、为什么main方法没有返回值(Void) 4、总结 main 方法是我们学习Java...编程语言时知道第一个方法,你是否曾经想过为什么 main 方法public、static、void 。...当然,很多人首先学是C和C++,但是在Javamain方法与前者有些细微不同,它不会返回任何值,为什么 main 方法public、static、void,这篇文章尝试去找到一些答案。...main 方法是Java程序入口,记住,我们这里不会讨论Servlet、MIDlet和其他任何容器管理java程序,在java核心编程,JVM会查找类 public static void main...2、为什么main方法是公有的(public) Java指定了一些可访问修饰符如:private、protected、public,任何方法或变量都可以声明为public,Java可以从该类之外地方访问

33620

终于搞懂,为什么 Java main 方法必须是 public static void?

来源:suo.im/6v9d64 为什么 main 方法是静态(static)? 为什么main方法是公有的(public) ? 为什么 main 方法没有返回值(Void)?...总结 ---- Main 方法是我们学习 Java 编程语言时知道第一个方法,你是否曾经想过为什么 main 方法public、static、void 。...当然,很多人首先学是 C 和 C++,但是在 Java main 方法与前者有些细微不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案...Main 方法是 Java 程序入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理 java 程序,在 java 核心编程,JVM 会查找类 public static...为什么main方法是公有的(public) ?

69310
  • 你知道为什么Javamain方法必须是public static void?

    来源:http://suo.im/6v9d64 Main 方法是我们学习 Java 编程语言时知道第一个方法,你是否曾经想过为什么 main 方法public、static、void 。...当然,很多人首先学是 C 和 C++,但是在 Java main 方法与前者有些细微不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案...Main 方法是 Java 程序入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理 java 程序,在 java 核心编程,JVM 会查找类 public static...为什么main方法是公有的(public) ?...因为 main 方法是公共,JVM 就可以轻松访问执行它。 为什么 main 方法没有返回值(Void)?

    41220

    你知道为什么Javamain方法必须是public static void?

    Main 方法是我们学习 Java 编程语言时知道第一个方法,你是否曾经想过为什么 main 方法public、static、void 。...当然,很多人首先学是 C 和 C++,但是在 Java main 方法与前者有些细微不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案...Main 方法是 Java 程序入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理 java 程序,在 java 核心编程,JVM 会查找类 public static...# 为什么main方法是公有的(public) ?...因为 main 方法是公共,JVM 就可以轻松访问执行它。 # 为什么 main 方法没有返回值(Void)?

    1.6K40

    javamain方法运行

    学过java都知道main方法是学习java开始,也是程序入口,不过你有多少个类或程序,线程,他们入口方法都是main()。...main方法是一个静态方法,所以这个方法是属于类,而不是对象;在 main() 方法,参数类型是 “String[] args”, 意味着在启动Java应用同时,传递一个 String 类型数组来定制化应用初始化属性...执行过程: 现在问题是:JVM是如何加载类,又是如何调用 main() 方法?...最后,包含 main() 方法栈帧会被推入到JVM “mian” 线程所在,同时,程序计数器也已经被设置妥当。...随后,被调用 println() 方法又会生成一个栈帧被推入到 “main” 线程所在。当 main() 方法执行完毕,整个栈会被销毁,整个应用也就正常结束了。

    1.2K20

    java为什么接口中属性和方法都默认为public

    4)为什么接口中属性和方法都默认为public?Sun公司当初为什么要把java接口设计发明成这样? ...【新手可忽略不影响继续学习】 答:如上所述,马克-to-win:既然接口强于抽象类能胜任作为和外部系统打交道合同。换句话说,一般来讲和外部系统打交道,自然考虑用“接口”。...“外部”二字自然让我们做出如下结论:属性和方法都应默认为public。...因为是和外部系统打交道,存在很大未知性,马克-to-win:我并不知道未来外部别人怎么用我们接口,所以尽量少给别人设置障碍(少添点堵),就设置权限为public,出于这种考虑,Sun公司一开始就规定...,接口属性和方法默认就为public

    83150

    javamain方法是怎么运行

    学过java都知道main方法是学习java开始,也是程序入口,不过你有多少个类或程序,线程,他们入口方法都是main() main方法是一个静态方法,所以这个方法是属于类,而不是对象;...在 main() 方法,参数类型是 “String[] args”, 意味着在启动Java应用同时,传递一个 String 类型数组来定制化应用初始化属性。...执行过程: 现在问题是:JVM是如何加载类,又是如何调用 main() 方法?...最后,包含 main() 方法栈帧会被推入到JVM “mian” 线程所在,同时,程序计数器也已经被设置妥当。...随后,被调用 println() 方法又会生成一个栈帧被推入到 “main” 线程所在。当 main() 方法执行完毕,整个栈会被销毁,整个应用也就正常结束了。

    1.5K20

    关于 java set,get方法,而为什么不推荐直接使用public

    我不知道有没有人遇到过,有一段时间,我都觉得那些 set,get用处何在,我直接写一个public直接拿不就行了,多爽,但是随着使用频繁,越来越想去搜索一下这个问题,而不是按照官方推荐,前辈们使用都是建议...举一个简单例子,如果只是简单赋值操作,直接public 和 set get并无两样,但是如果里面有一些逻辑,比如限制数据大小,这样直接Public 就没办法控制了。...这里引入其中一句话: 在任何相互关系,具有关系所涉及各方都遵守边界是十分重要事情,当创建一个类库时,就建立了与客户端程序员之间关系,他们同样也是程序员,但是他们是使用你类库来构建应用...如果所有的类成员对任何人都是可用,那么客户端程序员就可以对类做任何事情,而不受约束。即使你希望客户端程序员不要直接操作你某些成员,但是如果没有任何访问控制,将无法阻止此事发生。...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程封闭性与安全性,private 修饰set get方法方法封闭在了一个特定类,其他类就无法对其变量进行方法,这样就提高了数据安全性

    1.5K20

    Shell-通过shell启动Java类main方法 + 通过Shell启动jar

    文章目录 概述 shell启动Java类main方法 启动脚本分析 启动脚本 shell启动jar 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程。...shell启动Java类main方法 启动脚本分析 根据服务器上JDK 以及工程部署路径 ?...修改相应#JDK所在路径 APP_HOME 启动入口类APP_MAINCLASS(需有main方法) 。注意CLASSPATH,务必正确export相应jar。...(找到主机native安装路径指定即可) 应用引用hadoop相关jar(后面因报错,增加了commons-codec-1.10.jar 和 netty-3.6.6.Final.jar) btw...#需要启动Java主程序(main方法类) APP_MAINCLASS=com.tudaxia.test.TestMain #拼凑完整classpath参数,包括指定lib目录下所有的jar CLASSPATH

    1.1K60

    为什么 JUnit4 要求 @Test 注解测试方法必须为 public

    然而,在实际使用,有时我们可能会忘记将测试方法设置为 public,从而导致测试失败。...Method givenSampleText_whenTokenize_thenExpectedTokensReturned() should be public 那么,为什么 JUnit4 要求 @Test...二、原因:JUnit4 和测试方法访问控制 在 Java ,访问修饰符(如 public、private、protected 和默认(package-private))定义了类、方法和字段可见性范围...public 修饰符表示该方法对所有类可见,而其他修饰符则限制了方法可见范围。 JUnit4 要求测试方法必须为 public,这与测试框架设计和 Java 语言访问控制机制有关。...在实际应用,权衡这些因素以选择最适合项目的解决方案。

    48320

    面试5年25K程序员回答不出来为什么Javamain方法必须是public static void?

    p=5107 最近接连不断面试了不少中高级程序员,我问到“为什么 Java main 方法必须是 public static void?”几乎没人能回答出来。...Main 方法是我们学习 Java 编程语言时知道第一个方法,你是否曾经想过为什么 main 方法public、static、void 。...当然,很多人首先学是 C 和 C++,但是在 Java main 方法与前者有些细微不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案...Main 方法是 Java 程序入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理 java 程序,在 java 核心编程,JVM 会查找类 public static...为什么main方法是公有的(public) ?

    45830

    【Groovy】闭 Closure ( 闭调用 Groovy 脚本方法 | owner 与 delegate 区别 | 闭调用对象方法 )

    文章目录 一、闭调用 Groovy 脚本方法 二、owner 与 delegate 区别 三、闭调用 Groovy 对象方法 一、闭调用 Groovy 脚本方法 ---- 在 Groovy...脚本 , 在 Closure 闭 , 可以直接调用 Groovy 脚本定义方法 ; def fun() { println "fun" } def closure = {..., 这是无法改变 ; 但是 Closure 闭对象 delegate 成员是可以修改 ; 三、闭调用 Groovy 对象方法 ---- 在闭 , 可以直接调用 Groovy 脚本定义方法...; 但是如果想要在闭 , 调用实例对象方法 , 就必须设置闭 delegate 成员 ; 如下代码 , 想要在闭 , 调用 Test 对象 fun 方法 , 在执行闭之前 , 必须将...} } // 闭不能直接调用 Test 对象方法 // 此时可以通过改变闭代理进行调用 def closure = { fun() } closure.delegate = new

    3.1K20

    javascript、函数toString方法

    : 闭可以理解为定义在一个函数内部函数, 函数A内部定义了函数B, 函数B有访问函数A内部变量权力; 闭是函数和子函数之间桥梁; 举个例子: let func = function...firstName}-${lastName}`) } innerFunc('Liu'); } func(); 输出:hello allen-Liu 如果父函数已经退出(返回),那么闭效用也还是在...方法: 假设我们知道一个指向某方法变量, 我们可以调用toString方法看这个方法代码: let func = function(x) {console.log(x)}; func.toString...(); 运行输出: "function(x) {console.log(x)}" 注意输出是一个字符串, 这是一个非常强悍功能,你得到这个字符串之后,可以随时eval它,执行方法逻辑 遗憾是...,你不能信赖toString方法, 因为有时候你拿不到想要方法体字符串; 举个例子 let func = (function(x) {console.log(this.x)}).bind({x:123

    1.1K40

    Python模块引用成员方法

    在Python(package)和模块(module)是组织和管理代码重要方式。将代码分成不同模块或可以更好地组织代码结构,使代码更易于维护和管理。...1、问题背景在Python, 当我们拥有一个具有多个子模块时,可能会遇到这样问题:希望在外部引用子模块成员,但是并不希望在命名空间中看到子模块本身。...在test.py,我们可以这样导入:from package import example注意,这种方法只适用于在包层级运行test.py,否则需要确保包含package文件夹在Python模块搜索路径...另一种方法是使用动态导入。这涉及在__init__.py文件动态导入所有模块,并将其成员添加到命名空间中。...import *这种方法更加动态,不需要在__init__.py文件硬编码模块名称。

    10110
    领券