【Java接口】

## 接口

-接口是一个抽象的类型,是抽象方法的集合,通常以interface来声明。
一个类通过继承接口的方式,来继承接口的抽象方法。
-类描述对象的属性和方法,接口则会包含类要实现的方法

  • 接口的定义格式:
public interface 接口名{
    //抽象方法
    void test();
}

接口与类有什么区别

  • 接口不能用来实例化对象
  • 接口中的所有方法必须是抽象的方法(没有具体的方法体)
  • 接口没有构造方法
  • 接口不是被类继承了,而是要被类来实现

接口所具有的特性

  • 接口中的每一个方法都是隐式抽象的
  • 接口中的方法是不能在接口中被实现的,只能由实现接口的类来实现接口中的方法
  • 接口中的方法是公有的
  • 接口可以多继承

接口的实现

当类实现接口的时候,要实现接口中的所有的方法。类使用implements关键字来实现接口
在类声明中,implements关键字放在class声明之后

package y20220227;

public class Demo {
    public static void main(String[] args) {
        C c = new C();//实例化子类对象
        c.print();
        c.scanf();
    }
}
interface A{//接口A
    void print();
}
interface B{//接口B
    void scanf();
}
class C implements A,B{//同时实现了两个接口
    public void print(){
        System.out.println("接口A的抽象方法");
    }
    public void scanf(){
        System.out.println("接口B的抽象方法");
    }
}

监听器重写

package y20220227;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class UI {
    public static void main(String[] args) {
        new UI().initUI();
    }
    public void initUI(){
        //创建一个窗体对象
        JFrame jf = new JFrame();
        jf.setTitle("接口事件");
        jf.setSize(500,300);//窗口尺寸
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置布局 自动布局
        jf.setLayout(new FlowLayout());

        //创建组件对象

        //标签 只显示内容不显示组件本身
        JLabel namejla = new JLabel("账号: ");
        JLabel pwdjla = new JLabel("密码: ");
        //输入框 文本 密码
        JTextField nameInput = new JTextField();
        JPasswordField pwdInput = new JPasswordField();
        //按钮
        JButton btn = new JButton("登录");
        //设置尺寸
        Dimension dim = new Dimension(400,35);
        nameInput.setPreferredSize(dim);
        pwdInput.setPreferredSize(dim);
        //将各个组件添加
        jf.add(namejla);jf.add(nameInput);
        jf.add(pwdjla);jf.add(pwdInput);
        jf.add(btn);
        //监听器的实现
        ButtonAction btnaction = new ButtonAction();
        btnaction.nameInput = nameInput;
        btnaction.pwdInput = pwdInput;
        btn.addActionListener(btnaction);
        jf.setVisible(true);//显示在屏幕上 注意组件填充完整
    }
}
class ButtonAction implements ActionListener{
    JTextField nameInput;
    JPasswordField pwdInput;
    public void actionPerformed(ActionEvent e ){
        String name = nameInput.getText();
        String pwd = pwdInput.getText();
        if (name.equals("ylj") && pwd.equals("12345")){
            JOptionPane.showMessageDialog(null,"账号密码输入正确");
        }
        else{
            JOptionPane.showMessageDialog(null,"Wrong");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值