Java关于final关键字和接口详解

final关键字

用于修饰类 ,方法,参数和属性

  • 类:不能被定义抽象类或是接口,不可被继承

  • 方法:子类里不可以重写

  • 参数:参数值在方法中不可被修改//有点类似C语言const关键字

  • 属性:定义时就必须直接赋值或者在构造方法中进行赋值,并且后期不能被修改

  • public final class A{
    	final int num=10;
        public final void Test( final int a){
            
        }
    }
    
    

接口(完全抽象的类)

  • 一种更为彻底的抽象,主要用来定义功能
  • JDK8后可以定义4种内容
  1. 静态常量
  2. 抽象方法
  3. 静态方法(JDK8后)
  4. 默认方法(JDK8后)

接口不能被创建对象


interface关键字

使用interface关键字来实现接口的创建

public interface MyInterface {
    int num=0;// 默认为public static int num=0;
    void s();//默认为公共抽象方法即public abstract
}
public interface MyInterface extends A,B{
			.......
}//一个接口可以继承多个接口

注:一个类只能继承一个类,间接继承多个类

一个类可以实现多个接口

一个接口可以继承多个接口

接口不可以构造方法

implements关键字

package day8.jk;

public class Test implements MyInterface {//implements关键字用来实现接口功能

    @Override
    public void Test() {
    }
    @Override
    public void Test3() {
    }
}

一个类可以实现多个接口(多个接口表示多个功能,一个类需要哪些功能就去实现哪些接口)

package day9.animal;

public interface Fly {
    void Fly();
}
package day9.animal;

public interface Eat {
    void eat();
}
public class Bird extends Animal implements Fly,Eat {
    @Override
    public void eat() {
    }
    @Override
    public void Fly() {
    }
}

}//Bird实现了Fly接口的功能和Eat接口功能且继承了Animal

一个类如果实现接口

  1. 要么实现所有方法
  2. 要么特此声明为抽象类
  • 实现类和接口之间也是可以有多态关系的
  • 用一个接口,表示一类拥有此功能的类

特性

  • 接口是隐式抽象的,主要是定义功能
  • 接口可以定义静态常量,抽象方法,静态方法,默认方法
  • 一个接口可以继承其他多个接口
  • 接口和抽象类一样,不能实例化对象
  • 接口是要被类实现的,一个接口可以被多个实现
  • 当类实现接口的时候.类要实现接口中所有的抽象方法,否则,该类必须声明为抽象的类
    y8.jk;

public class Test implements MyInterface {//implements关键字用来实现接口功能

@Override
public void Test() {
}
@Override
public void Test3() {
}

}


**一个类可以实现多个接口(多个接口表示多个功能,一个类需要哪些功能就去实现哪些接口)**

```java
package day9.animal;

public interface Fly {
    void Fly();
}
package day9.animal;

public interface Eat {
    void eat();
}
public class Bird extends Animal implements Fly,Eat {
    @Override
    public void eat() {
    }
    @Override
    public void Fly() {
    }
}

}//Bird实现了Fly接口的功能和Eat接口功能且继承了Animal

一个类如果实现接口

  1. 要么实现所有方法
  2. 要么特此声明为抽象类
  • 实现类和接口之间也是可以有多态关系的
  • 用一个接口,表示一类拥有此功能的类

特性

  • 接口是隐式抽象的,主要是定义功能
  • 接口可以定义静态常量,抽象方法,静态方法,默认方法
  • 一个接口可以继承其他多个接口
  • 接口和抽象类一样,不能实例化对象
  • 接口是要被类实现的,一个接口可以被多个实现
  • 当类实现接口的时候.类要实现接口中所有的抽象方法,否则,该类必须声明为抽象的类
  • 接口与实现类之间存在多态性
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刺猬崔‍️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值