java自学之路-----final 抽象类 接口
来源:互联网 发布:好看的网游小说知乎 编辑:程序博客网 时间:2024/05/16 17:48
final{
1.是一个关键字,修饰符
2.修饰类的时候,该类无法继承
3.修饰方法的时候,该方法无法被子类覆盖
4.修饰变量的时候,只能赋值一次并且要在定义的时候显示初始化,所以该变量为一个常量,通常用大写单词表示。如果要全局共享,可加static
}
抽象类{
1.一个方法只有声明,没有实现,就是一个抽象方法,用abstract修饰
2.有抽象方法的类必须为抽象类,抽象类可以没有抽象方法
3.抽象类不可以被实例化
4.子类继承抽象类的时候,必须覆盖抽象类的所有抽象方法,否则该子类也为抽象类不可被实例化
注意{
1.抽象类是有构造函数的,可以用来给子类对象初始化
2.抽象类不放抽象方法通常是为了不让该类创建对象
3.abstract不可与private共存,因为private修饰的方法不可以被覆盖
不可与static共存,因为静态不需要创建对象就可以直接类名调用
不可与final共存,因为final不允许类被继承,方法被覆盖
4.抽象类一定会作为父类被使用
}
}
接口{
注意{
1.接口中的方法必须是抽象类
2.接口用关键字interface定义,但编译后还是***.class文件
3.接口中的全局常量默认为public static final ,可以直接用”接口名.常量名“调用,建议显示定义这些修饰符,便于调用
抽象方法默认为public abstract ,建议显示定义public修饰符,便于子类继承的时候,覆盖该接口方法時能加上public修饰符
4.类与类是继承关系,而且只能为单继承,以防多继承的时候造成调用方法不明确的情况
类与接口是实现关系,可以实现多个接口,间接实现多继承的含义
接口与接口是继承关系,可以出现一个接口继承多个接口
5.子类必须覆盖接口所有的方法,否则该子类就是抽象类
}
接口与抽象类的不同点{
接口包含 抽象方法 以及 全局常量,与实现该接口的类是 has a 的关系
抽象类包含 抽象方法 非抽象方法 以及 成员变量,与继承该抽象类的类是is a的关系
}
优点{
1.对外部暴露了规则
2.为程序提升了扩展性
3.降低了耦合性
代码展示{
/*有一台笔记本,要使用鼠标,键盘,优盘等功能就必须提供一个USB的接口,这个接口就是包含了实现功能的规则,提升了扩展性,降低了笔记本与鼠标键盘优盘之间的耦合性*/interface Usb{//这个就是所暴露出来的规则public void start();public void finish();}class UsbMouse implements Usb{public void start(){System.out.println("UsbMouse is using");}public void finish(){System.out.println("UsbMouse is leaving");}}class UPan implements Usb{public void start(){System.out.println("UPan is using");}public void finish(){System.out.println("UPan is leaving");}}//如果一段时间之后想要再使用键盘的usb功能,只需实现接口,并覆盖方法,便可直接被电脑所使用。这就是降低了耦合性class BookPC{public static void main(String[] args){useUsb(new UsbMouse());//扩展性的展示useUsb(new UPan());}public static void useUsb(Usb u){//使用的规则u.start();u.finish();}}
}
}
}
有个地方不确定:接口应该是没有构造函数的,因为类是实现了接口,而不是继承,该类的默认构造函数中的super()应该是调用了object类的构造函数
0 0
- java自学之路-----final 抽象类 接口
- java中的final、抽象类、接口小结
- java 基础5 抽象类 接口 final
- java中的final、抽象类、接口小结
- 抽象类,接口,final
- Java重修之路(九)面向对象之final关键字,抽象类(abstract),接口(interface)
- PHP自学之路-----接口VS继承、final、const
- Java基础之面向对象(三)--继承、抽象类、接口、final修饰符、模版方法模式
- Java基础之面向对象(三)--继承、抽象类、接口、final修饰符、模版方法模式
- Java小记之抽象类,final关键字,接口(附上一篇补充)
- Java SE 自学笔记9 之 抽象类、接口、内部类、匿名内部类、枚举
- java自学笔记之抽象类,接口,对象的多态性,instanceof关键字
- final、抽象类和接口
- 抽象类、接口和final
- final,多态,抽象类,接口
- final关键字、抽象类、接口
- 抽象类、接口、final、static
- final 抽象类 抽象方法 接口
- jdbc总结
- nyoj-816-它合法吗?
- URL重写-图像和流媒体
- C/C++ 头文件一览
- Android端的微博项目
- java自学之路-----final 抽象类 接口
- ARM中mmu的映射原理与配置步骤
- VS2010优化(带示例图)
- JAX-RS入门 一 :基础
- 第12届北师大校赛热身赛第二场 C. 组合数
- 【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册
- Codeforces #29 C. Mail Stamps
- linux下安装pcap qt使用pcap.h
- [HNOI2002]营业额统计(SplayTree)