问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java怎样在主函数里定义函数

发布网友 发布时间:2022-04-26 17:06

我来回答

4个回答

热心网友 时间:2022-04-24 07:55

main函数是一个程序的入口,也是出口,main函数其实就是类里的一个方法,方法只能在类里声明了,所以maion函数必须声明在一个类里,一个程序里只有一个main函数,因为类与类之间是相与调用的。一个程序从开始运行就会先找main函数,然后再一步一步的执行,如果有多个main那么程序就会报错,因为他不知道该从那个门口(main函数)进,然而类为什么可以有多个呢,你还记的JAVA的三大基本特征么,即封装,继承,多态。而封装就是我们所说的类,他是把所有相同的属性,方法归纳到一起,即组成一个类。这样给你打个比方吧
main函数所在的一个类就相当于一个城市,而main函数就是城市的一个入口,并且只有一个入口,也可是出口,而城市中又有许多小区,我们叫他为类吧,而小区里的房子又基本相同,这也就验证了我们把同一类物品归为一类,即封装在一个类里,而每个小区又不同,这又验证了每一个类的实现功能 是不同的,而类与类这间的调用则是用NEW关键字,这个你应该会吧,继承,多态我就不用说
  主函数的一般写法如下:
  public static void main(String[] args){…}
  下面分别解释这些关键字的作用:
  (1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。
  (2)static关键字,告知编译器main函数是一个静态函数。也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了。如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
  (3)void关键字表明main()的返回值是无类型。
  **(4)参数String[] args,这是本文的重点。
  第一、程序使用者可以在命令行状态下向某个类传递参数。看下面的例子:
  public class ArgsDemo {
  public static void main(String[] args) {
  String str = new String();
  for (int i = 0; i < args.length; i++) {
  System.out.println(args[i]);
  str += args[i];
  }
  System.out.println(str);
  }
  }
  使用javac ArgsDemo.java命令生成ArgsDemo.class文件;然后使用“java ArgsDemo 参数一 参数二 参数三 …”的格式向ArgsDemo类传递参数。该示例程序将首先输出参数,然后输出所有参数的和。比如java ArgsDemo a b c,将得到这样的输出:
  a
  b
  c
  abc
  需要注意的是,如果这里的循环条件不是i <5,则在命令行中输入的参数必须是5个,否则将会报错,错误类型为:
  Exception in thread “main” java.lang.ArrayIndexOutOfBoundException:3
  at ArgsDemo.main(ArgsDemo.java:5)
  第二、可以在另一个类中向包含main()的类传递参数,如下例:
  public class A {
  public static void main(String[] args)
  {
  for(int i=0;i
  System.out.println(args[i]);
  }
  }
  public class B {
  public static void main(String[] args)
  {
  c = new A();
  String[] b = {"111","222","333"};
  c.main(b);
  }
  }
  首先定义一个class A,在A中定义一个main()函数,在该函数中输出参数args。然后定义一个classB,在B中初始化一个A的实例c,然后向c传递参数,并且调用c的main方法打印出传入的参数值。输出结果如下:
  111
  222
  333
  由于main()函数是静态函数,即不需要实例化也能使用,所以B使用下面的写法也能完成相同的功能:
  public class B {
  public static void main(String[] args)
  {
  //A c = new A();
  String[] b = {"111","222","333"};
  A.main(b);
  }
  }
  总结:参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择。
  (以上观点均系个人理解,不准确的地方欢迎批评指正。实例程序均调试通过)
  
  对static的理解还有问题。main方法的代码是存在方法区的。方法不管是否为static的,都存在方法区。

热心网友 时间:2022-04-24 09:13

不能简单定义,除非你在里面增加内部匿名类,在类里可以定义

热心网友 时间:2022-04-24 10:48

public 返回类型 函数名(参数类型 参数列表,参数类型 参数列表...)
{

return 返回类型 值;
}

热心网友 时间:2022-04-24 12:39

那还叫普通函数吗
你看下面的吧:
public class Demo{
public static void main(String []args){
}

public int method(){
}

public void method2(int i,int j){
}
}
方法是这样定义的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 Java的函数具体是什么意思,?是怎么作用的?应该怎么写? java 自定义函数 java中是否有函数概念 java新手问题——输入函数 java 函数问题? java中可以用那些数学函数 java 构造方法 函数 三月号一号后什么样的客户在进行废钢交易 JAVA 函数的规范写法 请教几句国际贸易合同中的句子翻译,谢谢。 java函数 java中函数的声明和定义 如何用java编写函数? java常用函数方法 java函数是什么意思? java中都有哪些函数 为什么说橘猫爱咬人 梦见很多猫跟我一起睡觉.. 梦见男朋友用手*打了一只小橘猫 流了很多血 随后又送猫咪去医院抢救 救活了 有什么寓意吗? 梦见一只橘猫跟其他两只猫打架最后都死了好吗? java里的函数和方法是同一个概念吗? 河北省2015年哪里有求购外墙涂料施工队的 怎么那么多人求购填海抛石南澳岛造地工程项目,会是骗人的吗 求购趸船建造的施工组织设计 电厂管道施工求购,DN200的不锈钢防虫网罩,是什么产品,在哪里可以买 求购二屋门面施工图设计标准门面14米深度18米,一屋经商,二屋想,经商,主卧,两用。 收购一家施工二级资质的公司,大概价格在什么范围?如公司本身已有部分资质,收购后可合并吗? 电脑安装一个ug软件怎么装? 在马鞍山范围求购路面施工用三合土 建筑施工总承包资质收购要注意什么 求购屋面防水材料 如何收购一家房建总包甲级资质? 建筑施工资质转让价格和转让是怎样的 收购建筑劳务分包资质的优势有哪些 求购筑业资料软件陕西省或西安市一套完整的工程资料电子版存档 UG8.0许可证怎么安装啊? 黑群和白群分别是什么意思 什么是黑群 微信被拉进了黑群怎么退啊 急急急! 纠结一个黑群的硬件配置?