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

    抽象

    一、抽象类:不知道是具体什么东西的类。 abstract class 类名

    1.抽象类不能直接new出来。

    2.抽象类可以没有抽象方法。

    public abstract class USB {   //抽象类
    
        //两个抽象方法,抽象类中也可以不写抽象方法
        public abstract void qidong();   
        public abstract void tingzhi();//抽象方法不用写{}
    }

    3.抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。

    4.派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。

    public abstract class Shubiao extends USB{
        
        public void qidong(){
            System.out.println("鼠标运行");
        }
    
        //父类的tingzhi()的方法没重写 ,子类也要改成abstract抽象的。
    }

    二、抽象方法:不知道具体是干什么事情的方法。abstract 返回类型 函数名(形参);

    1.抽象方法没有函数体。

    2.有抽象方法的类必须是抽象类。

    遇到抽象类,两种用法:

    1.找找有没有它的派生类,用它的派生类。

    2.自己写一个类,派生自这个抽象类。

    package com.itnba.may.Demo1229;
    
    public abstract class USB {   //抽象类
        //两个抽象方法
        public abstract void qidong();   
        public abstract void tingzhi();
    }

    接口

    可以理解为一种特殊的抽象类。里面只有常量和抽象方法(不需要写abstract)。

    接口可以多实现(继承),抽象类只能是单位继承。

    定义:

    interface 接口名 [extends 父接口列表]{
      final 类型 常量名=值;
      public void 方法名(形参);
    }

    public interface USB {   //定义一个接口
    
        public void qidong();   
        public void tingzhi();
    }

    接口的实现:

    [abstract] class 类名 extends 父类 implements 接口名,接口名,....{

    public class Shubiao implements USB{
        
        @Override
        public void qidong(){
            System.out.println("鼠标运行");
        }
      
        @Override
        public void tingzhi() {
            System.out.println("鼠标拔出了");
        }
        //如果有接口的方法没重写 ,类要改成abstract抽象的。
    }

    接口定义的时候:

    1.接口尽量的小,功能太复杂的。——接口分离原则。

    2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。

    final 的几种修饰用法

    final可以修饰成员变量,成员方法,类。

    1.final修饰类:此类不能被继承。

    2.final修饰成员变量:可以当常量来用。

    3.final修饰方法:不能被子类的方法覆盖(重写),但可以被继承。

  • 相关阅读:
    源代码的下载和编译
    Git使用入门
    搭建Android开发环境
    安卓系统移植与驱动开发概述
    第十章
    第九章
    第八章
    第七章读书笔记
    第六章读书笔记
    第五章读书笔记
  • 原文地址:https://www.cnblogs.com/hq233/p/6233920.html
Copyright © 2011-2022 走看看