抽象类和接口

date: 2018/4/8 1:21:31


抽象类和接口文档整理



文章转载苏鹏


1.包(package)的作用:对类进行分类整理
---1.1.按功能分类    界面、控制跳转、业务处理、数据访问、工具类、数据模型。。。
---1.2.按业务模块分类    登录、注册、列表展示、详细信息、支付、订单。。。。

2.不在同一个包中的类,在使用前都要先导入  -- import
---2.1.导入所需的类 
    import   java.util.Scanner;
---2.2. 导入包内所有类 
    import   java.util.*;
---2.3.不导包就要写包名+类名
    java.util.Scanner     scanner   =   new   java.util.Scanner(System.in);
---2.4.子包中的类需要导入吗?
---2.5.java.lang 包下的类默认全部导入
    import java.lang.*

3.类的修饰符
---3.1.public(公共的):
    将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。

---3.2.abstract(抽象的):
    将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
---3.3.final(最终的):
    将一个类声明为最终类, 表示他不能被其他类继承。

4.访问修饰符(方法和属性)---定义可见性
---4.1.public(公共的):   大家随便用
---4.2.private(私有的): 只有我自己能用,  其他谁都不给用, 包括儿子
---4.3.protected(保护的):  我家里人和已经分家的儿子能用, 别的照样不给用 。
---4.4.无修饰符 (默认的):默认的修饰符,只有没有分家的家人才能用, 已经分家的儿子也不给用。

关键字        同一个类中    同一个包中    子类中        其他包中
private            √                       
默认            √             √    
protected        √             √           √           
public            √             √           √             √

5.其他功能性的方法修饰符
---5.1.final,static,abstract

6.抽象类
---6.1.抽象类和抽象方法必须用abstract关键字修饰
   格式:    abstract   class    类名{}    //抽象类
        public   abstract   void   eat(); //抽象方法
---6.2.抽象方法只有方法签名,没有方法体  (没有大括号)
---6.3.抽象类不一定有抽象方法,  抽象方法一定存在于抽象类中
---6.4.抽象类不能被实例化,  需要子类或孙类去实现抽象方法
---6.5.父类只定义有什么功能,具体的功能需要子类自己实现
---6.6.抽象类的子类
    子类实现了父类的全部抽象方法,那子类就可以不是抽象类
    子类没有实现全部的抽象方法,那子类也必须是抽象类

7.接口    interface    (特殊的抽象类)
---7.1.定义一个接口需要使用interface关键字
    接口语法格式:   public interface   接口名{}        //接口没有class关键字
---7.3.接口的成员列表只能包含抽象方法及常量
---7.4.接口的所有方法默认都是public abstract 的
---7.5.接口的所有属性都默认是 public static final 的(都是静态常量)
---7.6.常量必须在接口中定义的时候就初始化。
---7.7.常量的命名规范: 全部字母大写,单词之间用 '_' 隔开
---7.8.接口没有构造方法,也就是说,接口和抽象类一样不能创建自己的对象
---7.9.一个类通过 implements 关键字去实现一个或多个接口
    格式: public class 类名 implements 接口1[,接口2...]

---7.10.接口可以继承接口,和类不同的是,接口继承其他接口的时候,是可以多继承的
    格式: public interface 子接口 extends 父接口1[,父接口2]

文章目录
  1. 1. date: 2018/4/8 1:21:31
  2. 2. 文章转载苏鹏