java===java基础学习(15)---抽象,接口
2018-04-16 21:29
288 查看
抽象
//这就是一个抽象类 abstract class Animal { String name; int age; abstract public void cry(); } //当一个类继承的父类是抽象的话 //需要我们把继承类中的所有方法全部实现 class cat extends Animal { public void cry() { // do nothing } }
用 abstract 关键字来修饰一个类时,这个类就是抽象类。
用 abstract 关键字来修饰一个方法时,这个方法就是抽象方法。
注意事项:
抽象类不能被实例化
抽象类不一定要包含 abstract 方法。也就是说 ,抽象类可以没有abstract方法。
一旦这个类包含 abstract 方法,则这个类必须声明为abstract
抽象方法不能有主题,例如:
接口
/* * 功能:接口 * */ package demo; public class test3 { public static void main(String []args) { Computer computer = new Computer(); Camera camera1 = new Camera(); Phone phone1 = new Phone(); computer.useUsb(camera1); computer.useUsb(phone1); } } interface Usb { int a = 1; //声明两个方法 //开始工作 public void start(); //停止工作 public void stop(); } //编写一个照相机类,并且实现usb接口 //一个重要原则:当一个类实现了一个接口 //就要求该类把这个接口的所有方法,统统实现 class Camera implements Usb { public void start() { System.out.println("我是相机,开始工作!"); } public void stop() { System.out.println("我是相机,停止工作!"); } } //实现一个手机类 class Phone implements Usb { public void start() { System.out.println("我是手机,开始工作!"); } public void stop() { System.out.println("我是手机,停止工作!"); } } class Computer { public void useUsb(Usb usb) { usb.start(); usb.stop(); } }
接口注意事项:
1.接口不能被实例化
2.接口中的所有方法都不能有主体
3.一个类可以实现多个接口
4.接口中可有变量[但,变量不能用 private 和 protected 修饰]
a.接口中的变量,本质上都是static的,不管你加不加static修饰
b.在Java开发中,我们经常把常用的变量,定义在接口中,作为全局变量使用
5.一个接口不能继承其它的类,但是可以继承别的接口
实现接口 VS 继承类:
1,实现接口可以看作是对继承的一种补充
2, 实现接口可在不打破继承关系的前提下,对某个功能扩展,非常灵活
小结:
接口随是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。
相关文章推荐
- 【幻化万千戏红尘】qianfengDay09-java基础学习:接口,抽象类,抽象方法,多态,instanceof
- JAVA基础学习之多态抽象与接口
- java基础视频25days(毕老师)学习日志(day14、day15、day16)
- java 基础 之 抽象与接口
- java基础要点(7)面向对象-抽象与接口
- 黑马程序员——Java基础---继承、抽象、接口
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- Java基础学习笔记(九)Comparable接口、Map接口、泛型
- 黑马程序员—15—java基础:有关泛型的学习笔记和学习心得体会
- Java集合源码学习(5)_List接口的基础实现AbstractList
- 【Java学习笔记】基础知识学习15【文本输入】
- Java集合源码学习(9)_Set接口的基础实现AbstractSet
- java基础之继承、抽象、接口
- 黑马程序员_Java基础[15]_接口
- Java基础学习笔记(九)Comparable接口、Map接口、泛型
- Java基础学习笔记(七)Set接口及其实现子类
- java基础--继承下:抽象与接口
- java 从零开始,学习笔记之基础入门<抽象类_接口_多态>(十三)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- java学习15-面向对象(interface接口)