zoukankan      html  css  js  c++  java
  • java核心技术----接口

    接口:用来描述类具有什么功能,而并不给出每个功能的具体实现。

    一个类可以实现一个或多个接口。

    克隆(深拷贝):创建一个新对象,且新的对象的状态与原始对象的状态相同。当对克隆的新对象进行修改时,不会影响原始对象的状态。

    内部类:内部类定义在另外一个类的内部,其中的方法可以访问包含它们的外部类的域。


    接口:接口不是类,不能被实例化,而是对类的一组需求的描述,这些类要遵从接口描述的统一格式进行定义,也就是说要实现接口中的方法。

    接口中的所有方法自动地属于public。接口中不能含有实例域,也不能在接口中实现方法。可以将接口看作是没有实例域的抽象类。


    比如要对对象进行排序必须得实现Comparable接口:

    public interface Comparable<T>
    {
    	int compareTo(T other);
    }
    import java.util.Arrays;
    
    /**
     * Created by N3verL4nd on 2016/11/25.
     */
    
    class test implements Comparable<test>{
        private int score;
    
        public test(int score){
            this.score = score;
        }
    
        public int getScore() {
            return score;
        }
    
        @Override
        public int compareTo(test o) {
            return (score - o.score);
        }
    }
    
    public class HelloWorld {
        public static void main(String[] args) {
            test[] arr = new test[5];
            arr[0] = new test(100);
            arr[1] = new test(90);
            arr[2] = new test(95);
            arr[3] = new test(70);
            arr[4] = new test(80);
    
            Arrays.sort(arr);
            for (test t : arr){
                System.out.println(t.getScore());
            }
        }
    }
    
    
    接口不是类,不能使用new运算符实例化一个接口,但是却可以声明接口的变量,接口变量必须引用实现了接口的类对象,用以实现多态。

    接口中不能包含实例域与静态方法,但却可以包含常量。接口中的域将自动设为public static final。





    Keep it simple!
    作者:N3verL4nd
    知识共享,欢迎转载。
  • 相关阅读:
    转:Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Category.log
    maven安装
    eclipse安装插件
    java.lang.ClassNotFoundException: com.*.listener.ConfigInfoReader
    oracle
    myeclipse中文乱码,JSP页面乱码
    ansible 列表变量、字典变量
    python模块
    python函数
    python数据类型2
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/6616291.html
Copyright © 2011-2022 走看看