zoukankan      html  css  js  c++  java
  • 抽象类和接口

    抽象类

    在Java中关键字abstract修饰的类称为抽象类,同样abstract修饰的方法称为抽象方法。

    抽象类不能使用new方法进行实例化,是没有具体实例对象的类。抽象类不能直接创建对象,只能通过抽象类派生出新的子类,由子类创建对象。抽象类本身不具备实际功能只能用于其派生子类

    抽象类的成员方法可以包括一般方法和抽象方法。抽象方法只声明返回的数据类型,方法名称,和所需的参数没有方法体即抽象方法只需要声明不需要实现。当一个方法为抽象方法时就必须被子类方法重写否则子类方法仍是抽象方法。抽象类中不一定包括抽象方法,但包括抽象方法的类一定被声明为抽象类

    例如

    package ch01;
    abstract class ep1_1{//定义抽象类
    	String str;
    	ep1_1(String s){//定义抽象类一般方法
    		str=s;
    	}
    	abstract void fruit();//定义抽象方法
    }
    class ep1_2 extends ep1_1{//定义继承抽象类的子类
    	String str;
    	ep1_2(String s){
    		super(s);//调用父类的构造方法
    	}
    	void fruit(){//重写父类抽象方法
    		System.out.println("苹果");
    	}
    }
    
    public class eq1_5 {
    	public static void main (String[] args){
    		ep1_2 Dx = new ep1_2("水果");//创建子类对象
    		Dx.fruit();
    	}
    
    }
    

    运行结果

    苹果

    接口

    接口是抽象类的一种,只包含常量和方法的定义而没有变量和方法的实现且其方法都是抽象方法

    接口用处如下

    1.通过接口实现不相关类的相同行为,无需考虑这些类之间的关系

    2.通过接口指明多个类需要实现的方法

    3.通过接口了解对象的交互界面,无须了解对象所对应的类

    接口可多重继承

  • 相关阅读:
    luogu 1865 数论 线性素数筛法
    洛谷 2921 记忆化搜索 tarjan 基环外向树
    洛谷 1052 dp 状态压缩
    洛谷 1156 dp
    洛谷 1063 dp 区间dp
    洛谷 2409 dp 月赛题目
    洛谷1199 简单博弈 贪心
    洛谷1417 烹调方案 dp 贪心
    洛谷1387 二维dp 不是特别简略的题解 智商题
    2016 10 28考试 dp 乱搞 树状数组
  • 原文地址:https://www.cnblogs.com/gc56-db/p/6732857.html
Copyright © 2011-2022 走看看