zoukankan      html  css  js  c++  java
  • java 接口

    接口是一种特殊的抽象类,接口只提供了方法的原形,当没有具体的方法实现。子类必须提供父类中抽象方法的实现方式。接口与抽象类一样,也能定义抽象的方法,并且接口中只能包含抽象的方法,不能有常量、初始化块和构造函数。就像手机模型,只是模型只是壳子

    package text5;
    
    interface Student1 {
        int clas = 0604;
        void learning();
        void eat();
        void sleep();
    }
    
    class Student implements Student1 {
    public static void main(String[] args) {
        Student stu=new Student();
        stu.learning();
    }
        @Override
        public void learning() {
            System.out.println("学生在学习");
    
        }
    
        @Override
        public void eat() {
            // TODO Auto-generated method stub
            System.out.println("学正在吃饭");
        }
    
        @Override
        public void sleep() {
            // TODO Auto-generated method stub
            System.out.println("学生在睡觉");
        }
    
    }
    View Code

     接口的方法都是抽象类,并没有方法具体的实现,接口中的方法必须由接口的实现类来实现。

    java接口的归纳:

    1.java接口中的成员变量,默认都是public,static,final型的,而对于public static final可以省略,接口中的成员变量为常量,建议全部使用大写,单词之间用"_"分隔

    2.接口方法默认是public abstract型的,可省略,Java种方法没有方法体不能实例化

    3.java接口中只能包含public static final类型的成员变量和public abstract 类型的成员方法

    使用接口设计:

    1.防盗门功能

    2.手机功能

    3.组装一台计算机

    4.打印机打印

    门有开关两种功能,锁有上锁开锁两功能,防盗门可以继承门同时继承锁么?

    将门定义为抽象类,锁定义为接口,防盗门继承门,实现锁的接口

    接口特性:

    1.不可被实例化

    2.实现类必须实现接口的所有方法

    3.实现类可以实现多个接口

    4.接口中的变量都为静态变量‘

    防盗门是个门,is a 关系

    防盗门有个锁:has a 关系

    Door:

    package Locker;
    
    public abstract class Door {
        public abstract void open();
        public abstract void close();
    }
    View Code

    TheftproofDoor;

    package Locker;
    
    public class TheftproofDoor extends Door implements Lock {
    
        @Override
        public void lockup() {
            // TODO Auto-generated method stub
            System.out.println("关锁");
        }
    
        @Override
        public void lockopen() {
            // TODO Auto-generated method stub
            System.out.println("开锁");
        }
    
        @Override
        public void open() {
            // TODO Auto-generated method stub
            System.out.println("开门");
        }
    
        @Override
        public void close() {
            // TODO Auto-generated method stub
            System.out.println("关门");
        }
    
    }
    View Code

    Lock:

    package Locker;
    
    public interface Lock {
        void lockup();
    
        void lockopen();
    }
    View Code

    Test;

    package Locker;
    
    public class Test {
        public static void main(String[] args) {
            TheftproofDoor door = new TheftproofDoor();
            door.close();
            door.lockup();
            door.lockopen();
            door.open();
        }
    
    }
    View Code
  • 相关阅读:
    VS10的一个问题
    有关开发的配置的有用信息
    管理Fragments(转)
    消除SDK更新时的“https://dl-ssl.google.com refused”异常--(转)
    JAVA字符串编码转换常用类
    在 Android 中调用二进制可执行程序(native executable )
    Android NDK 下的宽字符编码转换及icu库的使用(转)
    Linux字符编码转换 UTF8转GB3212
    一键生成JNI头文件方法二
    eclipse中创建NDK和JNI开发环境最简单配置方法
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/10623753.html
Copyright © 2011-2022 走看看