Java教程

三大修饰符和接口

本文主要是介绍三大修饰符和接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、三大修饰符
    1. static 静态的
        修饰属性、方法、初始代码块
        1) 属性 
        语法: static 数据类型 属性名;
        特点:被 static 修饰的属性称为 类属性 ;全类共享(与对象无关)
        使用:类名.属性名;
        2) 方法
        语法: static 返回值类型 方法名 (参数列表)
        使用:类名.方法名(实参)
        特点:该方法被称为 静态方法 ;
            1) static 方法可以被继承和覆盖,但只能被静态(static)方法覆盖,且没有多态。
            2) 调用静态方法仅仅相当于对引用的数据类型调用静态方法,与对象无关。
            3) static 方法中不能使用this和super
            4) 在静态方法中只能直接调用静态成员,不能直接调用非静态成员(可以创建对象调用)
        3) 初始代码块
            初始代码块是在类以内、方法以外定义的代码块,用于初始化属性,按照定义的先后顺序依次
            进行对象初始化的工作。
            静态代码块: 用 static 修饰的初始代码块。用于在类加载时,和其他的 static 
            成员按照定义的先后顺序依次进行初始化工作。
        4) 类加载『了解』
            当JVM第一次使用这个类时,JVM会将这个类的信息保存在内存中,这个过程叫做类加载。
            一般来说,一个类只加载一次。
    2. final 最终
        能修饰 变量(包括局部变量)、方法、类。
        1) 变量
            语法: final 数据类型 变量名
            特点: 不变,一旦赋值,永不改变。又称为 常量。            
                    只有一次赋值机会。
                    1) 基本类型 常量 值不变。
                    2) 引用类型/对象类型/复杂类型 常量 地址不变。
                    3) 被 final 修饰的属性没有默认值,通常在初始化属性时或在构造方法里赋值。
                    4) 如果在构造方法内赋值,则每一个构造方法都必须赋值。
        2) 方法
            语法: final 返回值类型 方法名(参数列表)
            特点: final 修饰的方法为 最终方法,能被继承,不能被覆盖。
        3) 类
            语法: final class 类名 
            特点: 为最终类,不能被继承。(例如:String类)
    3. abstract 抽象的
        能修饰类、方法。
        1) 方法
            语法: abstract 返回值类型 方法名(参数列表);
            特点: 抽象方法只有声明,没有实现。
        2) 类
            语法: abstract class 名称
            特点:  1) 不能创建对象,可以声明引用
                    2) 子类继承抽象类必须实现该抽象类中所有的抽象方法,除非子类也是抽象类
                    3) 抽象类中能有非抽象方法。
        3) 好处
            强制多态。
            更好的体现出“共性在父类”。
二、接口  interface
    1. 相当于一个特殊的抽象类
    相同点: 1) 不能创建对象,可以声明引用
             2) 编译之后都会生成 .class 文件
    不同点: 1) 接口没有构造方法,没有初始代码块,没有静态代码块
             2) 接口中所有的方法都是抽象方法,且默认为 公开的
                    public abstract 返回值类型 方法名 (参数列表);
             3) 接口中所有的属性都是 公开 静态 常量。
                    public static final 数据类型 常量名 ;
    2. 语法 
       //定义一个接口
       interface 接口名{}
       //接口可以多继承
       interface 接口名 extends 父接口名1,父接口名2{}
       //类和接口可以多实现( implements )
       class 类名 implements 接口名1,接口名2{}
       //类和类的 单继承 以及 和接口之间的 多实现
       class 类名 extends 父类名 implements 接口名1,接口名2{}
       注意: 1) 类 实现 接口,必须实现接口中所有的抽象方法,除非它是抽象类。
              2) 类 实现接口时 ,该类中的方法必须是 public 

这篇关于三大修饰符和接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!