一、 类 描述对象的一个抽象概念,囊括了具有相似属性和方法的事物。
//定义一个学生类 public class Student{ //学生的一些属性 public String name;//学生的姓名 public int score;//学生的成绩 //学生的行为 public void study(){ //此处写方法体 } }二、 对象 1.对象是类的实例(某一具体的事物),由类构造对象的过程叫创建类的实例(类名 变量名 = new 类名),每一个对象都存在着有别于其他对象的属性和方法,属性可以随着施加行为而发生改变。 2.行为:可以对对象施加的操作或方法 3.状态:施加方法后,对象如何响应
public class Manage{ public static void main (String[] agrs){ //创建学生类的对象 Student st = new Student; //创建了类的对象后,就可以调用类中的方法 st.study(); } }三、 接口(interface)
从本质上来说,接口是一种特殊的抽象类,但这个抽象类中只有常量和方法的定义,而没有变量和方法体,接口不能创建对象。定义格式:public interface 接口名{}接口的使用:当要从一个类中使用接口,我们可以这样写: Public class 类名 implements 接口名{ //必须重写接口中的所有抽象方法 }接口中抽象方法的定义:public abstract 返回值类型 方法名()理解:接口是一个规范、标准。当在团队合作开发某一个项目,提前写好需要的接口,方便队员在需要的时候直接调用,就能获得所想要的功能,提高了开发的效率。 //ActionListener就是一个接口,为了用这个接口,就需要继承它的父类 Public interface ActionListener extends EventListener{ //接口中的抽象方法 Public void actionPerformed(ActionEvent e);四、 事件监听器(action listener)
实现界面程序的交互功能,比如点击一个按钮,程序会给出什么样的响应。包含三个部分:1)事件源:当前动作所发生的组件2)确定监听器的方法3)绑定事件处理类因为事件监听器定义的都是接口,所以需要自己定义一个类来实现对应接口中的功能 //定义一个ButtonListener类来实现接口ActionListener Public class ButtonListener implements java.awt.event.ActionListener{ //重写接口中的所有方法 Public void actionPerformed(ActionEvent e){ } }然后在一个界面类中给事件源加上监听器
//需要先实例化监听器的类 ButtonListener listener = new ButtonListener(); //给事件源加上监听器 Jbu.addActionListener(listener);下面展示一个自己写的包含以上内容的程序
public class Login { public static void main(String[] args) { Login lo = new Login(); lo.showUI(); } public void showUI() { javax.swing.JFrame jf = new javax.swing.JFrame(); //设置窗口的标题 jf.setTitle("登录界面"); //设置窗口的大小 jf.setSize(280, 500); //设置窗口的位置为居中 jf.setLocationRelativeTo(null); //设置进程关闭 jf.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); //流式布局管理器 java.awt.FlowLayout flow = new java.awt.FlowLayout(); //设置流式布局 jf.setLayout(flow); //放置图片 javax.swing.ImageIcon image = new javax.swing.ImageIcon("C:\\Users\\Administrator\\Desktop\\1.jpg"); javax.swing.JLabel jla = new javax.swing.JLabel(image); jf.add(jla); //账号文本框前的标签 javax.swing.JLabel user = new javax.swing.JLabel("账号"); jf.add(user); //账号的文本框 javax.swing.JTextField jtx = new javax.swing.JTextField(); java.awt.Dimension dim = new java.awt.Dimension(200,50); jtx.setPreferredSize(dim); jf.add(jtx); //密码文本框前的标签 javax.swing.JLabel password = new javax.swing.JLabel("密码"); jf.add(password); //密码的文本框 javax.swing.JTextField jtx1 = new javax.swing.JTextField(); jtx1.setPreferredSize(dim); jf.add(jtx1); //注册按钮 javax.swing.JButton jbu1 = new javax.swing.JButton("注册"); java.awt.Dimension dim1 = new java.awt.Dimension(80,50); jbu1.setPreferredSize(dim1); jf.add(jbu1); //登录按钮 javax.swing.JButton jbu = new javax.swing.JButton("登录"); jbu.setPreferredSize(dim1); jf.add(jbu); //设置窗口为可见,不然看啥 jf.setVisible(true); //动作监听器 ButtonListener listener = new ButtonListener(); jbu.addActionListener(listener); listener.jtx = jtx; listener.jtx1 = jtx1; } } public class ButtonListener implements ActionListener { public JTextField jtx; public JTextField jtx1; public void actionPerformed(ActionEvent e) { String userName = jtx.getText(); String passWord = jtx1.getText(); Success su = new Success(); Fail fa = new Fail(); if("123".equals(userName)&"123".equals(passWord)) { su.showUI1(); }else { fa.showUI1(); } } }