接口和抽象类
来源:互联网 发布:tomcat和apache整合 编辑:程序博客网 时间:2024/05/18 02:05
接口与抽象类
如果一个类中含有抽象方法那么这个类就是抽象类 abstract 只能用来修饰方法和类
接口是指一个方法的集合 接口中所有方法都没有方法体,在语言接口是通过interface来实现的。
接口和抽象类异同:
1》都不能被实现
2》接口的实现类和抽象类的子类都只有实现了接口的方法和 抽象类中的方法才能 被实现
a》接口只有被定义其方法不能在接口实现‘而抽象类可以有定义与实现
b》接口被实现,抽象类被继承
c》接口用于是实现比较常见的功能,抽象类更倾向于充当公共类
首先接口:
package com.www.testAbstract;public interface D {// 接口中的成员变量默认为public static final,静态的不能被修改的,且必须赋初值public String name = "bird";// 所有的 成员方法都是public abstract,只有定义,没有实现public void fly();public int egg();}package com.www.testAbstract;public class C implements D {public String name = "a";@Overridepublic void fly() {System.out.println("bird can fly");}@Overridepublic int egg() {if (name == "bird") {return 2;} else if (name == "a") {return 4;}return 0;}public static void main(String[] args) {D test = new C();System.out.println(test.egg()); //输出为4test.fly();//输出bird can fly}}package com.www.testAbstract;public abstract class A {String name = "aaa";int age;public void a() {System.out.print("aa" + name);}public void b() {System.out.print("bb");}public abstract void c();}package com.www.testAbstract;public class B extends A {String name = "bbb";@Overridepublic void c() {System.out.println("cccccc");}@Overridepublic void a() {System.out.println("aaaaaaa" + " " + "name" + " " + name);}@Overridepublic void b() {System.out.println("bbbbbbb");}public static void main(String[] args) {A test = new B();test.a();// aaaaaaa name bbbtest.b();// bbbbbbbtest.c();// cccccc}}
0 0
- 抽象接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 抽象类和接口
- 接口和抽象类
- 抽象类和接口
- 接口和抽象类
- C 语言中操作字符串的函数
- Python 多进程
- 算法训练 排序
- 获取文件扩展名(后缀)
- JS断点调试心得
- 接口和抽象类
- wps如何设置表格中文字的行间距
- 二维数组中的查找
- 网络编程基础(1)
- 拓扑排序--dfs
- C++有格式和无格式输入输出
- CMake创建ITK程序
- 函数调用返回与栈帧空间开辟回收
- 使用Redis存储Nginx+Tomcat负载均衡集群的Session