接口与抽象类的区别

发布时间:2024年01月19日

/*

*接口类

*语法1:接口使用interface关键字定义

*语法2:接口中允许定义抽象方法,定义时允许省略abstract*语法3:接口中不允许定义构造方法

*语法4:接口中不允许定义带有方法体的普通方法,但可以通过default关键字定义默认方法*语法5:实现类通过implements关键字实现接口,必须重写接口中定义的抽象方法

*语法6:实现类可以同时实现多个接口

*语法7:接口之间允许多重继承

*

*抽象类

*语法1:抽象类使用abstract关键字定义丰语法2:抽象类中允许定义抽象方法

*语法3:拙象类中允许定义构造方法

*语法4:抽象类中允许定义带有方法体的普通方法

*语法5:子类通过extends关键字继承抽象类,必须重写抽象类中定义的抽象方法*语法6:子类同时只能继承一个父类

*/

抽象类语法总结:?

package com.ztt.Demo03AbstractClass;
/*
 * 抽象类的语法总结
 *  语法1:使用abstract关键字定义的类
 *  语法2:在抽象类中,允许定义“抽象方法”,“普通方法”,“构造方法”
 *  语法3:子类继承抽象父类,必须对父类中的抽象方法进行“重写”
 *  语法4:抽象类不允许被实例化”
 */

public abstract class AbstractClass {
	//常量
	public static final int MAX =251;
	
	//构造方法
	public AbstractClass() {
		
	}
	
	//抽象方法
	public abstract void dosth();
	
	//普通方法
	public void work() {
		
	}
	
	//子类
	abstract class Ext extends AbstractClass{
		public abstract void dolist();
	}
	
	class Son extends Ext{
		public void dolist() {
			
		}
		
		public void dosth() {
			
		}
	}
	

}

接口的语法总结:?

package com.ztt.Demo01MyInterface;

/*
 * 语法1:使用interface关键字定义
 * 语法2:接口中,允许定义“抽象方法”,public 和 abstract关键字可以省略
 * 语法3:接口中,允许定义“默认方法”
 * 语法4:实现类通过implements关键字实现接口,可以同时实现多个接口
 */

public interface MyInterface {
	
	//允许定义“抽象方法”
	void dosth();
	public abstract void  absTDowork();
	
	//允许定义“默认方法”
	public default void dolist() {
		
	}
	
	//不允许定义“构造方法”
//	public MyInterface() {
//		
//	}
	
	//不允许定义“普通方法”
//	public void dolist() {
//		
//	}

}
class Ext implements MyInterface,AnotherInterface{

	@Override
	public void dosth() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void absTDowork() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void todo() {
		// TODO Auto-generated method stub
		
	}

	
	
	
		
	
}

?

?

?

文章来源:https://blog.csdn.net/m0_68041576/article/details/135704888
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。