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

    1    抽象类&抽象方法的定义

    抽象方法定义的格式:

    public abstract 返回值类型 方法名(参数);

    抽象类定义的格式:

    abstract class 类名 {

    }

    2     抽象类的特点:

    1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

    2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

    3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

    复制代码
    public abstract class Developer {
        //抽象方法没有方法体
        public abstract void work();
    }
    
    
    public class JavaEE extends Developer{
        //抽象方法
        public void work(){
            System.out.println("JavaEE工程师写JavaEE代码");
        }
    }
    
    public class Test {
        public static void main(String[] args) {
            JavaEE java=new JavaEE();
            java.work();
        }
    }
    复制代码

    3     抽象类的细节问题:

    1、抽象类一定是个父类?

         是的,因为不断抽取而来的。

    2、抽象类中是否可以不定义抽象方法。

    是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

    3、抽象关键字abstract不可以和哪些关键字共存?    

    l  1、private:私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。

    l  2、final

    l  3、static

    4  接口概念

    接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。

    接口定义时需要使用interface关键字,类实现接口使用implements。

    复制代码
    public interface Myinterface {
        //接口中所有成员变量修饰符public static final
        //static 静态:只要被static修饰的成员,在外界可以直接通过类名.成员调用
        //final 最终的:被final修饰的变量叫常量,一次赋值终身不变
        public static final int a=0;
        //接口中所有方法的修饰符都是 public abstract
        public abstract void a();
    }
    
    
    //类实现接口
    public class MyinterfaceImp implements Myinterface{
        public void a(){};
    }
    复制代码

    在类实现接口后,该类就会将接口中的抽象方法继承过来,此时该类需要重写该抽象方法,完成具体的逻辑。

    接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量,其值不能改变。

    接口不可以创建对象。

    接口最重要的体现:解决单继承的弊端。将类的单继承这种机制在java中通过多实现完成了。

  • 相关阅读:
    Java并发/多线程-线程池的使用
    pam详解
    chrony时间同步服务
    网站每日UV数据指标去重统计
    阻塞式发送邮件
    待办事项-redis
    解决Windows7、Windows10 ping不通的问题
    redis序列化和反序列化的操作-(以前咋操作我都忘记了)
    秒杀活动下的公平队列抢购机制
    控制某个字段不在页面展示
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10694477.html
Copyright © 2011-2022 走看看