java编程思想 抽象类和接口
Java  /  管理员 发布于 5年前   345
接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface;//类包含抽象方法,此类必须声明为抽象public abstract class AbstractClass {public void play(String str) {System.out.println(str);}// 抽象方法,只有实体 没有实现abstract void play();}package com.wj.Interface;/** * */public class AbstractDemo extends AbstractClass {// 抽象类不能直接new 对象 必须要有子类继承 在子类中实现抽象类中的抽象方法@Overridevoid play() {System.out.println("实现抽象类中的方法");}public static void main(String[] args) {// 常见对象AbstractDemo demo = new AbstractDemo();// 调用抽象类中的方法demo.play("java");// 调用抽象方法的实现demo.play();}}
运行结果:
java
实现抽象类中的方法
2,接口 implement 接口的多重继承
定义两个接口;子接口继承这两个接口 , 类实现子接口
被继承的接口
/** * * @author Administrator *定义接口 抽象方法 */public interface AbstrctIter1 {public void getAll();public void getSize();public void getName();}被继承的接口package com.wj.Interface;/** * * @author Administrator *定义接口 */public interface AbstrctIter2 {public void getAll2();public void getSize2();public void getName2();}子接口继承上面的接口package com.wj.Interface;/** * * @author Administrator *接口 定义接口 不能使用class 必须使用interface *接口可以有多重继承 */public interface AbstractInterface extends AbstrctIter1,AbstrctIter2{//定义抽象方法,接口中不能有具体方法的实现public void play(String str);public void play(String str,int age);}定义类实现子接口 ,类会实现接口的所有方法package com.wj.Interface;/* * 实现接口 实现接口的方法 */public class AbstractImplement implements AbstractInterface{@Overridepublic void play(String str) {// TODO Auto-generated method stub}@Overridepublic void play(String str, int age) {// TODO Auto-generated method stub}@Overridepublic void getAll() {// TODO Auto-generated method stub}@Overridepublic void getSize() {// TODO Auto-generated method stub}@Overridepublic void getName() {// TODO Auto-generated method stub}@Overridepublic void getAll2() {// TODO Auto-generated method stub}@Overridepublic void getSize2() {// TODO Auto-generated method stub}@Overridepublic void getName2() {// TODO Auto-generated method stub}}
3,完全解耦
只要有一个方法操作的一个类而非一个接口,那么我们就只能使用这个类及其子类
4,接口与工厂
接口可实现多重继承,类不可以是多重继承
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号