关于类与接口

3 篇文章 0 订阅
2 篇文章 0 订阅

类访问

类访问控制符
友好的和public
友好的:被本包引用、继承
Public: 可被所有包引用、继承(其他包加import)

类中访问控制符
(从不同范围该使用哪种访问控制符来对此有一个清晰的认识)
同类:任何 均可以;
同包不同类:
引用:友好的 及以上
继承:友好的 及以上
不同包:
引用:public 及以上
继承:protected 及以上


抽象类

抽象方法定义
只有声明部分,无具体的方法:
Public abstract void move();
必须用abstract修饰

抽象方法意义
由于子类重写父类方法,父类方法无作用,仅提供方法名,忽略不写即为抽象方法

抽象类定义
类中有任何一个抽象方法即为抽象类;
类中没有抽象方法类由abstract修饰也为抽象类;
只有为抽象类,类名必须用abstract修饰;

抽象类使用
只能被继承,不能直接创建对象;
子类若不对所有抽象方法实例化,也为抽象类,需用abstract修饰[extends 接口列表]{}


接口

接口定义
语法:public(只能用此和默认的) interface 接口名[extends 接口列表]{}
接口只能包含常量(默认public static final)、抽象方法及内部类
抽象方法必须为public修饰

接口继承
只能继承父接口,不能继承抽象类和普通类
能同时继承多个接口(不同于类继承一个父类)

接口实现
访问控制符 修饰符 class 类名 implements 接口1[接口2..]{}
类中实现接口时,方法名字,数据类型等都需一致

接口回调
类似上转型,声明父接口,传递子类,调用时使用子类变量或方法
接口无构造方法(而抽象类中有),不能创建自己对象

接口使用
接口实现类可以直接使用接口中的常量(变量名)
若多个父接口常量重复,需用(父接口.变量名)使用

Java8新增
一个或多个由default修饰方法,由实现类创建对象来调用
一个或多个由static修饰方法,由实现类创建对象来调用或接口或实现类直接调用??
(实验中static修饰方法,只能由创建的接口直接调用别的都不行,这点仍需试验)

函数式接口
接口内只定义一个抽象方法,称为函数式接口
@FunctionalInterface注解验证是否为函数式接口,返回true或false
函数式接口可定义多个java.lang.Object中的public方法( booblean equals(Object obj); )

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值