震惊!java的抽象类,接口和包居然是这种情况


```**抽象类**
abstract修饰的方法是抽象方法,一个类只要有一个抽象方法,这个类必须是抽象类;
**抽象类好处:**
目的是为了让子类重写,所以这个方法体就没必要写方法体(代码);抽象类没有方法体,需要用分号表示结束;如:( public abstract double computePay();)
记住:1.一个抽象类中的抽象方法,子类必须重写          
 2.抽象类中可以有抽象方法,也可以没有           
 3.抽象类中可以有具体方法           
 4.抽象类不能被实例化,它的类是为了被继承           
 5.只有抽象的方法和抽象的类,没有抽象字段           
 6.抽象类可以被另一个抽象类继承,那么这个子的抽象类可以不重写父 类的抽象方法           
 7.抽象类不能被实例化,却有构造方法,抽象类的构造方法只是为了被子类调用(只有抽象类的非抽象子类可以创建对象)           
 8.final和abstract是不可以连用的,          
 9.如果一个类不想被实例化,可以讲这个类写成抽象类(方法体:大括号里面的内容)
 ![static final abstract关键字的用法](https://img-blog.csdnimg.cn/20190321213437533.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhaWdhaWthaTEyMw==,size_16,color_FFFFFF,t_70)
**接口:**
定义很多标准的东西;一对的协议,规则(很多抽象方法的封装)
**接口重点:**
1.接口和类是同级关系,类通过class修饰,接口通过interface修饰
2.接口中的方法一般都是公共的抽象方法;
3.接口中的属性一般都是常量
4.接口可以理解为一个特殊的抽象类(一般不写具体的方法)
5.接口不能被实例化,接口没有构造方法
6.一个类可以实现多个接口
7.接口是可以继承另一个接口的(public  class AAA extends  BBB)
8.一个类可以同时继承父类并implements 接口1,接口2........
9.类之间是单继承的,但接口之间是可以多继承的
10.接口中一般都是抽象的
特殊情况说明:1)如果接口中有static修饰,该方法需要方法体 .                         
2)default修饰的,该方法必须有方法体.
在一个接口中声明方法时,若没有声明访问权限,默认也是public,若没其他修饰默认也是abstract;声明属性时,若没有声明访问权限和静态常量,默认也是public static final
包:访问权限
![包的访问权限](https://img-blog.csdnimg.cn/20190321213605985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhaWdhaWthaTEyMw==,size_16,color_FFFFFF,t_70)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值