《明解Java》笔记:Java基础篇_抽象_接口

#------>Java基础篇_抽象_接口
本来这篇文章很早就该发的,只不过最近迷上打电动了!!!O(∩_∩)O哈哈~

#涉及关键字
#判断    instanceof

#定义抽象    abstract
#定义接口    interface
#实现接口    implements
抽象:在父类实例化没意义的情况下可以将类定义为抽象类(在抽象类中可以存在普通方法)

抽象类的定义:
abstract class 类名{
    成员变量
    方法(){方法体}    #普通方法
    abstract    方法();    #抽象方法(抽象方法是不允许有方法体的连"{}"也不允许)
}

特点:
1.抽象类是不允许被直接实例化的(可以由父类指向子类对象)来完成实例化
2.抽象方法只能声明,不能有实现        #abstract 方法();

好处:
1.封装子类重复的内容
2.将父类设计成抽象类后,即可借由父子继承关系限制子类设计的随意性

注意:
1.含有抽象方法的类,则这个本身一定是抽象类(在抽象类中可以包含抽象方法和普通方法)
2.抽象类不一定包含抽象方法(但抽象方法必须声明在抽象类中!!!)
3.抽象类不能被实例化,不包含抽象方法这个类也不允许被实例化!!!
4.一个类继承抽象类后,它的子类必须重写父类中所有的抽象方法,否则子类也将变成抽象类
5.被abstract修饰的方法不能用static、private
再用abstract修饰类时不可final同时出现     #鱼和熊掌不可兼得嘛!!!
被abstract修饰的类如果不被子类继承的话,那么定义为抽象类毫无意义!!!

#-------->接口

接口被赋予为抽象方法的集合

#接口的定义
public interface 接口名{  public static final 常量;  #
    public abstract 方法(); # 
}    
#接口中抽象方法可以不写abstract关键字
#访问修饰符默认public
#当类实现接口是,需要去实现接口中的所有方法,否则这个类也将变成抽象类
#接口中可以包含常量,默认public static final

接口也可以实现继承,并且可以继承多个父类接口

#接口的实现
class 类名 implements 接口{    #可以同时实现多个接口,java不存在多重继承,  #一个类只能继承一个类,但是能实现多个接口 方法体;
}

注意:

1、Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用”_”分隔)

2、Java接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化

3、Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法

4、接口中没有构造方法,不能被实例化

5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口

6、Java接口必须通过类来实现它的抽象方法

7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类

8、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例

9、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.



#Java#
全部评论
《头号玩家》这部科幻片,VR技术挺超前的推荐大家去看看!!!期待这几年VR游戏会有开山大作!!!
点赞 回复 分享
发布于 2018-07-06 20:13

相关推荐

Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
我的名字是句号:接好运
点赞 评论 收藏
分享
评论
4
8
分享

创作者周榜

更多
牛客网
牛客企业服务