抽象类、接口和监听器

来源:转载

抽象类也是一种类,和普通类相比,它既含有普通方法,也含有抽象方法。抽象方法是声明而未实现的方法,所有抽象方法必须使用abstract关键字声明,包括抽象类也必须使用abstract class声明。抽象类不能则直接实例化,它介于普通类和接口之间。接口,有以下两点特征:1)接口的数据成员必须初始化,且数据成员虚伪常量。2)接口的方法必须全为抽象方法。另外,接口中的方法全为public型的,接口的定义也不用class而是interface。抽象类的继承用extends,而接口的继承用implements,一个子类只能继承一个抽象类,但是却可以同时继承多个接口。

import javax.swing.*;import java.awt.*;public class LonginFrame {public static void main(String [] args){JFrame j=new JFrame();j.setTitle("登陆界面");j.setSize(180,150);j.setResizable(false);FlowLayout f=new FlowLayout();j.setLayout(f);JLabel name=new JLabel("账号");j.add(name);JTextField jt=new JTextField(10);j.add(jt);JLabel pass=new JLabel("密码");j.add(pass);JPasswordField jp=new JPasswordField(10);j.add(jp);JButton bu1=new JButton("登陆");j.add(bu1);JButton bu2=new JButton("注册");j.add(bu2);j.setDefaultCloseOperation(3);j.setVisible(true);Listener l=new Listener(jt,jp,j);/*创建监听器对象,调用Listener中的构造方法,把jt、jp和j地址传递给Listener*/bu1.addActionListener(l);//把监听器附在登陆按钮上


}

}

import java.awt.event.*;import javax.swing.*;public class Listener implements ActionListener{//继承接口ActionListenerJTextField jt;JPasswordField jp;JFrame j;//使jt、jp、jp和j的使用范围为整个类public Listener(JTextField jf,JPasswordField jpf,JFrame j2){jt=jf;jp=jpf;j=j2;}//此时jf、jpf和j2指向LinginFrame类中jt、jp和j地址,并把地址赋给jt、jp和j。public void actionPerformed(ActionEvent e){//重写接口方法String name=jt.getText();String pass=jp.getText();if("123".equals(name)&&"123".equals(pass)){JFrame j1=new JFrame();j1.setSize(300,150);j1.setVisible(true);j.dispose();}else{System.out.println("账号或密码错误");}}}



分享给朋友:
您可能感兴趣的文章:
随机阅读: