java学习之三大修饰符-接口

29 篇文章 0 订阅
26 篇文章 0 订阅

三大修饰符

abstract关键字:

抽象类,abstract修饰的类,此类不能new对象,但是可以声明引用。主要作用强制使用多态。

Abstract修饰的函数,子类必须重写其方法,否则该子类也是抽象类,换言之抽象方法必须要能被子类重写。

抽象类中不一定有抽象方法,但有抽象方法的一定是抽象类

 

static关键字:

静态属性:整个类共享内存空间,修改一个全部改变。

静态代码块:static{ }

特点:静态方法允许直接访问静态成员,静态方法不能直接访问非静态成员,静态方法中不允许使用this或是super关键字,静态方法可以继承,不能重写,没有多态。,静态代码块在类加载时被执行,且只执行一次。

 

例:

final关键字

概念:最后的,不可更改的。

final可修饰的内容:类,方法,变量

final修饰类,此类不能被继承,final修饰的方法不能被重写,final修饰的变量值不能被改写(常量)

final修饰的实例常量赋值位置:显示初始化,动态代码块,构造方法。

静态常量:静态常量不在提供默认值,必须手动赋予初始值。赋值时机:显示初始化,静态代码块。

final 修饰基本类型值不可变,对象不能修改地址。

例:

public class TestFinl {

   public static void main(String[] args) {

      final Student student = new Student();

// student = new Studdent();

   }

}

 

class Student {

   int c = 5;

   final int a;

   static final int b;

   static { // 静态代码块

      b = 4;

      // b = 5;

   }

   // 动态代码块

   {

      a = 3;

      // a = 4;

      c = 9;

   }

 

   public Student() {

      System.out.println(a + "\t" + b + "\t" + c);

   }

}

 

 

接口:

interface关键字

接口相当于特殊的抽象类,定义了方式,组成部分与抽象类类似 interface 类名{ //公开静态常量,公开抽象方法,建议不要使用公开静态常量}

作用:弥补java单继承,扩充子类能力,支持多实现。

实现接口中的抽象方法时,访问修饰符必须是public

注意:仅可调用接口中所声明的方法,不可调用实现类中独有的方法,可强转回现类本身类型进行独有方法的调用。

特点:类与接口多实现,接口与接口多继承,

优点:1.程序的耦合度降低2. 更自然的使用多态3.设计与实现完全分离 4. 更容易搭建程序框架5.更容易更换具体实现

 

案例:

需求:

/*

  * 定义一个 消费者

  * 定义一个 电脑城老板

 *  定义一个 宠物店老板

 *  定义一个 人类

 *  定义一个猫

 *  定义一个狗

 *  定义一个鼠标

  * 定义一个键盘

 *  定义一个商品

  * 消费者有一个购买行为 (这个行为可以支付给电脑城老板或者宠物店老板,并且可以支付一定的金额)

 *  然后根据支付金额的不同返回的商品 返回的商品不同

  * 需求就是 使用 接口来 实现这个需求的多态

 */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值