抽象类与接口
来源:互联网 发布:window.onload 加载js 编辑:程序博客网 时间:2024/06/08 19:03
抽象类
抽象类是一种特殊的类,用abstract关键词修饰
特点:
1.作为父类,抽取子类代码,提高复用
2.不能实例化,规定子类 必须 重写的方法(抽象方法,没有方法体,具体类必须实现)
`package jicheng;
public abstract class TestAbstract {
public String type;//具体类可以不实现public void shixian(){}//抽象方法,具体类必须实现public abstract void shixian2();
}`
接口
接口用interface 修饰
所有方法默认public abstract类型
接口中的变量都是静态常量(public static final)
特点:
接口不可以被实例化,实现类必须实现接口的所有方法,实现类可以实现多个接口,多个接口使用逗号隔开,(Java中的多继承)
说到这里可能还是迷糊的,神马?这到底是神马?
1.接口是一种约定,一种能力。。
2. 接口成员
方法 是public abstract修饰的,方法签名要有返回值类型
成员变量 public static final
因为修饰符固定,可以省略,从接口继承过来的方法必须是public类型的
3. 接口可以被多实现
4. 类与接口是实现关系
接口与接口是继承关系
5. 抽象类和接口的区别:
相同点:
代表系统的抽象层
都不能被实例化
都能包含抽象方法
不同点:
在抽象类中可以为部分方法提供默认实现,而接口只有抽象方法
一个类只能有一个直接父类,但可以实现多个接口
抽象类
成员变量
构造方法
成员方法
接口中
public static final 的 属性
public abstract的方法
以上是接口的基本概念,下面是代码实现。
`package jicheng;
public interface testInterface {
String type="";public void sayHello();
}
package Test;
import jicheng.testInterface;
public class testInterfaxeImpl implements testInterface {
@Overridepublic void sayHello() { System.out.println("hello ,我是接口的实现类");}
}
`
以上是接口的简单实现,感觉没有啥意义。。。
我网上找了几个写的好的博客链接,有兴趣可以看看,唉,看看人家写的,再看看自己的,小菜鸟一只,任重而道远。。。
http://jingyan.baidu.com/article/8065f87f90ec4c233124983e.html
http://blog.csdn.net/chenssy/article/details/12858267
http://blog.csdn.net/findmyself_for_world/article/details/42525001
- 抽象类与接口
- 接口与抽象类
- 抽象类与接口
- 抽象类与接口
- 抽象类与接口
- 抽象类与接口
- 接口与抽象类
- 抽象类与接口
- 接口与抽象类
- 抽象类与接口
- 抽象类与接口
- 抽象类与接口
- 接口与抽象类
- 抽象类与接口
- 抽象类与接口
- 抽象类与接口
- 接口与抽象类
- 接口与抽象类
- 解读mysql时间函数sysdate()和now()
- recyclerView的接口回调点击事件和多级列表展示
- ZooKeeper第一天
- getWidth()与getMeasureWidth()的区别
- C++ 类和结构体所占内存大小
- 抽象类与接口
- <精讲>第1章(2)函数和数据类型入门
- HDOJ1076 An Easy Task
- Drools7.5.0教程(9)-workbench中git使用
- C++ explicit关键字详解
- mac mysql 登入报错 解决办法
- canvas马赛克
- iOS 时间选择器 支持月 日
- 错误代码: 1052 Column 'sys_date' in where clause is ambiguous