1、內(nèi)部類是指在一個(gè)外部類的內(nèi)部再定義一個(gè)類。類名不需要和文件夾相同。
陳倉(cāng)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
2、內(nèi)部類可以是靜態(tài)static的,也可用public,default,protected和private修飾。(而外部頂級(jí)類即類名和文件名相同的只能使用public和default)。
3、內(nèi)部類是一個(gè)編譯時(shí)的概念,一旦編譯成功,就會(huì)成為完全不同的兩類。對(duì)于一個(gè)名為outer的外部類和其內(nèi)部定義的名為inner的內(nèi)部類。編譯完成后出現(xiàn)outer.class和outer$inner.class兩類。 所以內(nèi)部類的成員變量/方法名可以和外部類的相同。
4、內(nèi)部類具有:成員內(nèi)部類、局部?jī)?nèi)部類、嵌套內(nèi)部類、內(nèi)部類。
以下以成員內(nèi)部類示例:
成員內(nèi)部類,就是作為外部類的成員,可以直接使用外部類的所有成員和方法,即使是private的。同時(shí)外部類要訪問(wèn)內(nèi)部類的所有成員變量/方法,則需要通過(guò)內(nèi)部類的對(duì)象來(lái)獲取。
要注意的是,成員內(nèi)部類不能含有static的變量和方法。 因?yàn)槌蓡T內(nèi)部類需要先創(chuàng)建了外部類,才能創(chuàng)建它自己的 ,了解這一點(diǎn),就可以明白更多事情,在此省略更多的細(xì)節(jié)了。
在成員內(nèi)部類要引用外部類對(duì)象時(shí),使用outer.this來(lái)表示外部類對(duì)象;
而需要?jiǎng)?chuàng)建內(nèi)部類對(duì)象,可以使用outer.inner obj = outerobj.new inner();
示例代碼:
public class Outer {
public static void main(String[] args) {
Outer outer = new Outer();
Outer.Inner inner = outer. new Inner();
inner.print( "Outer.new" );
inner = outer.getInner();
inner.print( "Outer.get" );
}
public Inner getInner() {
return new Inner();
}
public class Inner {
public void print(String str) {
System.out.println(str);
}
}
}
package com.ie;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Test1 {
public static void main(String args[]){
Test1 t = new Test1();
t.practice();
}
public void practice(){
JFrame jf = new JFrame("監(jiān)聽(tīng)器");
jf.setLayout(null);//關(guān)閉布局管理器
jf.setBounds(100, 100, 400, 400);//指定程序窗口的初始位置及大小
JTextField jtf = new JTextField("單行文本輸入框");
jf.add(jtf);
jtf.setBounds(10, 10, 100, 20);//指定單行文本輸入框在窗口中位置及大小
jtf.addFocusListener(new FocusListenerImpl());
JButton b = new JButton("確定");
jf.add(b);
b.setBounds(10, 40, 100, 20);
jf.setVisible(true);
}
class FocusListenerImpl implements FocusListener{
@Override
public void focusGained(FocusEvent e) {
System.out.println("獲得焦點(diǎn)");
}
@Override
public void focusLost(FocusEvent e) {
System.out.println("失去焦點(diǎn)");
}
}
}
JTextFiled獲得焦點(diǎn)簡(jiǎn)單來(lái)說(shuō)就是選中時(shí)有輸入光標(biāo)閃動(dòng),失去焦點(diǎn)就是輸入光標(biāo)消失,
失焦獲焦的用輸出語(yǔ)句簡(jiǎn)單寫的,看控制臺(tái)。
這個(gè) 真的沒(méi)啥意思 給按鈕添加一個(gè)監(jiān)聽(tīng) 監(jiān)聽(tīng)調(diào)用 button的另一個(gè)調(diào)用圖片的構(gòu)造方法 很方便\
package com.test;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ButtonDemo {
URL url = this.getClass().getResource("poto.jpg");
public ButtonDemo() {
}
public void showMe() {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
final JButton button;
button = new JButton("點(diǎn)擊我!");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
button.setIcon(new ImageIcon(url));
}
});
frame.add(panel);
panel.add(button);
frame.setSize(600, 500);
frame.setVisible(true);
}
public static void main(String[] args) {
new ButtonDemo().showMe();
}
}
這是基本的 你看看吧
標(biāo)題名稱:java監(jiān)視器代碼 java中監(jiān)視器的作用
文章URL:http://muchs.cn/article24/doccgje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、手機(jī)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、動(dòng)態(tài)網(wǎng)站、云服務(wù)器
聲明:本網(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)