java代碼中初始化控件 java初始化數(shù)據(jù)怎么寫(xiě)

java中類的顯示初始化是在什么時(shí)候執(zhí)行的

java中類的顯示初始化會(huì)在首次被“主動(dòng)使用”時(shí)執(zhí)行初始化,為類(靜態(tài))變量賦予正確的初始值。在Java代碼中,一個(gè)正確的初始值是通過(guò)類變量初始化語(yǔ)句或者靜態(tài)初始化塊給出的。而我們這里所說(shuō)的主動(dòng)使用 包括:

為呼圖壁等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及呼圖壁網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、網(wǎng)站制作、呼圖壁網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1. 創(chuàng)建類的實(shí)例

2. 調(diào)用類的靜態(tài)方法

3. 使用類的非常量靜態(tài)字段

4. 調(diào)用Java API中的某些反射方法

5. 初始化某個(gè)類的子類

6. 含有main()方法的類啟動(dòng)時(shí)

初始化一個(gè)類包括兩個(gè)步驟:

1、 如果類存在直接父類的話,且直接父類還沒(méi)有被初始化,則先初始化其直接父類

2、 如果類存在一個(gè)初始化方法,就執(zhí)行此方法

注:初始化接口并不需要初始化它的父接口。

java中一個(gè)類的屬性何時(shí)初始化

我們知道一個(gè)類(class)要被使用必須經(jīng)過(guò)裝載,連接,初始化這樣的過(guò)程。下面先對(duì)這三階段做一個(gè)簡(jiǎn)單的描述,之后會(huì)結(jié)合一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明java中類的初始化過(guò)程。

在裝載階段,類裝載器(Bootstrap ClassLoader 或者用戶自定義的ClassLoader) 把編譯形成的class文件載入內(nèi)存,創(chuàng)建類相關(guān)的Class對(duì)象,這個(gè)Class對(duì)象封裝了我們要使用的類的類型信息。

連接階段又可以分為三個(gè)子步驟:驗(yàn)證、準(zhǔn)備和解析。

驗(yàn)證就是要確保java類型數(shù)據(jù)格式 的正確性,并適于JVM使用。

準(zhǔn)備階段,JVM為靜態(tài)變量分配內(nèi)存空間,并設(shè)置默認(rèn)值,注意,這里是設(shè)置默認(rèn)值,比如說(shuō)int型的變量會(huì)被賦予默認(rèn)值0 。在這個(gè)階段,JVM可能還會(huì)為一些數(shù)據(jù)結(jié)構(gòu)分配內(nèi)存,目的 是提高運(yùn)行程序的性能,比如說(shuō)方法表。

解析過(guò)程就是在類型的常量池中尋找類、接口、字段和方法的符號(hào)引用,把這些符號(hào)引用替換成直接引用。這個(gè)階段可以被推遲到初始化之后,當(dāng)程序運(yùn)行的過(guò)程中真正使用某個(gè)符號(hào)引用的時(shí)候 再去解析它。

類會(huì)在首次被“主動(dòng)使用”時(shí)執(zhí)行初始化,為類(靜態(tài))變量賦予正確的初始值。在Java代碼中,一個(gè)正確的初始值是通過(guò)類變量初始化語(yǔ)句或者靜態(tài)初始化塊給出的。而我們這里所說(shuō)的主動(dòng)使用 包括:

1. 創(chuàng)建類的實(shí)例

2. 調(diào)用類的靜態(tài)方法

3. 使用類的非常量靜態(tài)字段

4. 調(diào)用Java API中的某些反射方法

5. 初始化某個(gè)類的子類

6. 含有main()方法的類啟動(dòng)時(shí)

初始化一個(gè)類包括兩個(gè)步驟:

1、 如果類存在直接父類的話,且直接父類還沒(méi)有被初始化,則先初始化其直接父類

2、 如果類存在一個(gè)初始化方法,就執(zhí)行此方法

注:初始化接口并不需要初始化它的父接口。

追問(wèn)

你這不是初始化實(shí)例么

我想做一個(gè)JAVA的,當(dāng)程序運(yùn)行的時(shí)候彈出一個(gè)提示框,顯示運(yùn)行的極度條。

做了一個(gè)多小時(shí),終于編出來(lái)了,樓上寫(xiě)的程序有很多問(wèn)題而且不完整。樓主的要求沒(méi)寫(xiě)明要操作數(shù)據(jù)庫(kù),所以就初始用戶ID和密碼都設(shè)置成123。密碼正確后出現(xiàn)正在登陸的提示框,等登陸成功后,就關(guān)閉提示,退出程序。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Test extends JFrame implements ActionListener,Runnable {

JLabel jLabel1 = new JLabel();

JLabel jLabel2 = new JLabel();

JTextField jtUserID = new JTextField();

JLabel jLabel3 = new JLabel();

JPasswordField jpUsePwd = new JPasswordField();

JButton jbEnter = new JButton();

JButton jbExit = new JButton();

//設(shè)置登陸的用戶名和密碼

String userID="123";

String userPwd="123";

public Test() {

super("用戶登陸界面");

try {

// 設(shè)置窗體的大小、位置、可見(jiàn)性

jbInit();

this.setVisible(true);

this.setSize(410, 300);

this.addWindowListener(new WindowAdapter() { // 清空內(nèi)存

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

} catch (Exception exception) {

exception.printStackTrace();

}

}

private void jbInit() throws Exception {

// 初始化各控件,設(shè)置控件位置,將控件添加到面板上

getContentPane().setLayout(null);

jtUserID.setText("");

jtUserID.setBounds(new Rectangle(182, 50, 141, 22));

jLabel2.setText("用戶名:");

jLabel2.setBounds(new Rectangle(83, 50, 78, 24));

jLabel3.setText("密 碼:");

jLabel3.setBounds(new Rectangle(81, 91, 78, 24));

jpUsePwd.setBounds(new Rectangle(182, 92, 140, 27));

jbEnter.setBounds(new Rectangle(122, 197, 90, 25));

jbEnter.setText("登陸");

jbExit.setBounds(new Rectangle(217, 197, 90, 25));

jbExit.setText("退出");

this.getContentPane().add(jLabel2);

this.getContentPane().add(jLabel3);

this.getContentPane().add(jLabel1);

this.getContentPane().add(jtUserID);

this.getContentPane().add(jpUsePwd);

this.getContentPane().add(jbEnter);

this.getContentPane().add(jbExit);

jbEnter.addActionListener(this);

jbExit.addActionListener(this);

}

//多線程控制登陸信息框

public void run(){

try{

this.setVisible(false);

JOptionPane.showMessageDialog(null, "正在登陸中....");

Thread.sleep(3000);

this.dispose();

}catch(Exception e){

System.out.println(e);

}

}

//當(dāng)點(diǎn)擊按鈕的時(shí)候觸發(fā)下面的方法

public void actionPerformed(ActionEvent e) {

try{

String command=e.getActionCommand();

if (command.equals("退出")) {

System.exit(0);

} else {

// 管理員登陸功能實(shí)現(xiàn)

if (jtUserID.getText().equals("")

|| new String(jpUsePwd.getPassword()).equals("")) {

JOptionPane.showMessageDialog(null, "請(qǐng)輸入完整數(shù)據(jù)");

} else {

if (jtUserID.getText().equals(userID)

new String(jpUsePwd.getPassword())

.equals(userPwd)) {

Thread t=new Thread(this);

t.start();

}

else {

JOptionPane.showMessageDialog(null, "帳號(hào)或者密碼錯(cuò)誤");

jtUserID.setText("");

jpUsePwd.setText("");

}

}

}

}catch(Exception ex){

System.out.println(ex);

}

}

public static void main(String[] args) {

new Test();

}

}

java中的choice控件如何設(shè)定初始大小

你問(wèn)的是包含項(xiàng)目的多少吧?

Choice自動(dòng)管理項(xiàng)目,不用干預(yù)。只有唯一的構(gòu)造函數(shù)Choice(),必須通過(guò).addItem(...)添加。

簡(jiǎn)便方法是,將所有項(xiàng)構(gòu)造一個(gè)數(shù)組:

Choice itemList=new Choice();

String[] items=new String[]{"第一項(xiàng)","第二項(xiàng)",...};

for(int i=0;iitems.length;i++){

itemList.addItem(items[i]);

}

新聞名稱:java代碼中初始化控件 java初始化數(shù)據(jù)怎么寫(xiě)
當(dāng)前URL:http://muchs.cn/article32/ddcgspc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站排名、服務(wù)器托管、做網(wǎng)站外貿(mào)建站、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司