zoukankan      html  css  js  c++  java
  • 接口,抽象类,普通类

    java 9之前(java 9可以定义private方法:

    public interface Card{
    
      private Long createCardID(){
        // Method implementation goes here.
      }
    
      private static void displayCardDetails(){
        // Method implementation goes here.
      }
    
    }

    1. 接口:

    首先你要弄清接口的含义.接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.

    在interface里面的变量都是public static final 的。所以你可以这样写:
    public static final int i=10;
    或则
    int i=10;(可以省略掉一部分)

    注意在声明的时候一定要给变量赋予初值

    方法:

    接口中方法一般的方法都是抽象方法(即无方法体)如:

    public int sun(int i);

    int sun(int i);(省略一部分)

    但是也可以有一般方法(有方法体)只能是 static或default:

    java接口中的default方法是在java 8之后引入的,即在不破坏java现有实现架构的情况下能往接口里增加新方法。
    Java接口现在可以有非抽象方法了。Default 方法带来的好处是,往接口新增一个Default 方法,而不破坏现有的实现架构。尽管如此,Default 方法不适合过多使用,但是对于Java集合API的优化升级,并达到无缝地结合Lambda表达式来说,Default 方法是至关重要的特性。

    public static int staticF(int a)
    {
    return 0;
    }

    default int default1(int d)
    {
    return 3;
    }

    继承:

    接口可以继承接口,但不能继承class

    public interface InterFace2 extends InterfaceTest

    实现:

    接口不能实现接口

    2. 抽象类 

    abstract class TestClass2

    方法:

    抽象类中可以普通方法(方法体)

    public int testf(int a)
    {
    return 2;
    }

    或抽象方法必须是有abstract(无方法体)

    public abstract int mult(int a, int b);

    继承(单继承):

    抽象类可以继承至抽象类

    即: abstract class TestClass extends TestClass(抽象类)

    也可继承至普通类

    即: abstract class TestClass extends TestClass(普通类)

    实现:

    抽象类可以实现接口

    public abstract class TestClass2 implements InterfaceTest

    因为抽象类中可以有抽象方法,所以可以不用实现接口中的方法体(相当于继承了接口的抽象方法)

    3. 普通类

    方法:

    必须全部有方法体(即实现接口或继承父类里面的全部抽象方法);

    继承:

    只能继承普通类。

    实现:

    必须实现接口的全部抽象方法

  • 相关阅读:
    Bellman_Ford算法详解
    数据结构实验之图论十:判断给定图是否存在合法拓扑序列(SDUT 2140)
    数据结构实验之图论九:最小生成树 (SDUT 2144)
    数据结构实验之图论七:驴友计划【迪杰斯特拉算法】(SDUT 3363)
    数据结构实验之图论六:村村通公路【Prim算法】(SDUT 3362)
    纯手工打造简单分布式爬虫(Python)
    “永恒之蓝"漏洞的紧急应对--毕业生必看
    从多项式相加看线性结构
    OD常用断点之CC断点
    打造“黑客“手机--Kali Nethunter
  • 原文地址:https://www.cnblogs.com/daxiong225/p/8629999.html
Copyright © 2011-2022 走看看