为啥main里的init函数没有执行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥main里的init函数没有执行相关的知识,希望对你有一定的参考价值。
import java.applet.Applet;
import java.awt.Button;
import java.awt.List;
import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class abc extends Applet implements ItemListener
//String item[]="aa","bb","cc";
List lc;
String item[]="aa","bb","cc";
int listen;
Button but1,but2;
TextField text1;
static abc ABC = null;
public static void main(String[] args) throws IOException
ABC=new abc();
ABC.init();
char gg='0';
System.out.print(gg);
public void init()
lc=new List(6,false);
lc.addItemListener(this);
char[] a = new char[1024];
try
File f = new File("d:/test.txt");
FileReader file=new FileReader(f);
//a[0]=' ';
char[] e = new char[1024];
file.read(e);
for(int j=0;j<=1023;j++)
a[j]=e[j];
//for(int j=0;j<=(e.length-1);j++)
// System.out.print(e[j]);
for(int j=0;j<=8;j++)
//for(int k=0;(char)c==('/');k++)
StringBuffer buf3=new StringBuffer("");
buf3.append(e,(20*(j)),20);
String fff;
//item2[j]="1";
fff=buf3.toString();
// System.out.print(buf3); //new
lc.add(fff);
catch(Exception ee)
//for(int i=0;i<item2.length;i++)lc.add(item2[i]);
add(lc);
but1=new Button("待定");
but2=new Button("待定");
add(but1);
add(but2);
text1=new TextField(20);
add(text1);
@Override
public void itemStateChanged(ItemEvent e)
// TODO Auto-generated method stub
listen=lc.getSelectedIndex();
text1.setText("你得到的进程序号为"+listen);
不对,简单举个例子,下面这段代码就没有用到main函数。
import java.awt.*;
import java.applet.*;
public class Button1 extends Applet
Button
b1 = new Button("Button 1"),
b2 = new Button("Button 2");
public void init()
add(b1);
add(b2);
你可以执行下看看 参考技术A 你这不是小程序吗 小程序不用主函数 也不执行 主函数
所以 自然不会执行里面的 函数了追问
你是对的
参考技术B 可能和static有关吧init不是静态函数,要先实例化? 参考技术C 黑客不是你想学 想学就能学
Golang的init函数
Golang的init函数
1.定义
每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会 在main函数前被调用。
2.基本使用
//init函数
package main
import (
"fmt"
)
//定义一个init函数
func init()
fmt.Println("init执行")
func main()
fmt.Println("main执行")
结果
3.先后顺序
如果一个文件同时包含全局变量定义,init函数和main函数,则执行的流程是全局变量定义>init函数>main函数。
1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等
2 每个包可以拥有多个init函数
3 包的每个源文件也可以拥有多个init函数
4 同一个包中多个init函数的执行顺序go语言没有明确的定义(说明)
5 不同包的init函数按照包导入的依赖关系决定该初始化函数的执行顺序
6 init函数不能被其他函数调用,而是在main函数执行之前,自动被调用
同时外部的包的init 优先于 main 的init。
//init函数
package main
import (
"fmt"
)
//定义一个全局变量
var a1 = test()
func test() int
fmt.Println("test执行")
return 10
//定义一个init函数
func init()
fmt.Println("init执行")
func main()
fmt.Println("main执行")
fmt.Println(a1)
4.作用
init函数最主要的作用,就是完成一些初始化的工作
utils.go
package utils
var Age int
var Name string
//使用init函数进行初始化
func init()
Age = 10
Name = "小明"
main.go
//init函数
package main
import (
"fmt"
"go_code/project01/main/demo08/utils"
)
func main()
fmt.Println(utils.Age,utils.Name)
参考文章
以上是关于为啥main里的init函数没有执行的主要内容,如果未能解决你的问题,请参考以下文章
Java工程打包jar,里面有一个main函数,怎么用Tomcat执行main函数呢?这个main函数的类继承Runnable