• Java基础知识学习(五)


    高级特性:接口

    接口(Interface)

    1) 接口中只能定义抽象方法,默认为 public abstract 的,变量可以是static的

    2) 接口中没有构造方法

    3) 一个接口不实现另一个接口,但可以继承多个其他接口,一个类只能继承一个父类,但却可以实现多个接口。

    实现接口的格式如下:

    interface SataHdd{
            //  
    }
    
    interface fixHdd{
            //
    }
    
    class SeagateHdd implements SataHdd, fixHdd{
            //    
    }

    抽象类和接口的主要区别。

    1) 抽象类可以为部分方法提供实现,避免了在子类中重复实现这些方法,提高了代码的可重用性,这是抽象类的优势;而接口中只能包含抽象方法,不能包含任何实现。

    2) 一个类只能继承一个直接的父类(可能是抽象类),但一个类可以实现多个接口,这个就是接口的优势。

    行为模型应该总是通过接口而不是抽象类定义,所以通常是优先选用接口,尽量少用抽象类。

    选择抽象类的时候通常是如下情况:需要定义子类的行为,又要为子类提供通用的功能。

    泛型

    泛型类

    class Point<T1, T2>{
        T1 x;
        T2 y;
    
        // 定义泛型方法
        public <T1, T2> void printPoint(T1 x, T2 y){
            T1 m = x;
            T2 n = y;
            System.out.println("This point is:" + m + ", " + n);
        }
    }

    泛型接口

    interface Info<T> {
        public T getVar();
    }
    //实现接口
    class InfoImp<T> implements Info<T> {
        public T getVar() {
            //
        }
    }

    限制泛型的可用类型

    public <T extends Number> T getMax(T array[]){
            //          
    }

    Java异常处理

    Java异常处理通过5个关键字控制:try、catch、throw、throws和 finally。

    常见的try catch

    try
    {
        
    }
    catch(Exception e)
    {
        throw e;
    }
    finally
    {
        
    }

    throws子句

    一个 throws 子句列举了一个方法可能抛出的所有异常类型。这对于除Error或RuntimeException及它们子类以外类型的所有异常是必要的。一个方法可以抛出的所有其他类型的异常必须在throws子句中声明。如果不这样做,将会导致编译错误。

     static void throwOne() throws IllegalAccessException {
          System.out.println("Inside throwOne.");
          throw new IllegalAccessException("demo");
       }

    自定义异常

    class MyException extends Exception {
        private int detail;
        MyException(int a) {
            detail = a;
        }
    
        public String toString() {
            return "MyException[" + detail + "]";
        }
    }
  • 相关阅读:
    ios app相互调用
    Nginx连接频率限制
    nginx 基于域名的虚拟主机
    nginx基于多端口的虚拟主机
    Nginx基于多ip的虚拟主机
    多文件上传
    thinkphp5模型关联
    原生查询和查询构造器
    thinkphp5请求和响应
    thinkphp验证器
  • 原文地址:https://www.cnblogs.com/alex09/p/4883580.html
Copyright © 2020-2023  润新知