当前位置:首页 > 开发 > 编程语言 > Java > 正文

java编程思想 抽象类和接口

发表于: 2015-03-24   作者:百合不是茶   来源:转载   浏览:
摘要: 接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持   1 ,抽象类 :  如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)   抽象方法 : 在方法中仅有声明而没有方法体    package com.wj.Interface;

接口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 对象 必须要有子类继承 在子类中实现抽象类中的抽象方法
	@Override
	void 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{

	@Override
	public void play(String str) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void play(String str, int age) {
		// TODO Auto-generated method stub
		
	}

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

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

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

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

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

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

}

 

3,完全解耦

只要有一个方法操作的一个类而非一个接口,那么我们就只能使用这个类及其子类

 

4,接口与工厂

接口可实现多重继承,类不可以是多重继承

 

java编程思想 抽象类和接口

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在《大话设计模式》这本书中,我会听到这个字眼“对接口编程”,而在文中的类图中,会提出这样一个
1、interface不仅仅只是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类型
     作者:俞良松 本文选自:开放系统世界-赛迪网      很多人有过这样的疑问:为什么有的
1、final关键字在java中被称为完结器,表示最终的意思 2、final能声明类,方法,属性: 使用final声
很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接
Java抽象类与接口的区别 很多常见的 面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽
JAVA接口与抽象类 增加了间接性,提升了灵活性。 应用时需要权衡两者的权重。通常应用于具体类变化
现在开发的主流都是面向对象,面向过程几乎已经被淘汰了。理解面向对象,就要知道它的三大特性,多
一、抽象(abstract)类 抽象类,说白了就是包含抽象方法的类。那什么是抽象方法?抽象方法是一种特殊
关于接口、继承,想大家都不陌生,抽象类也好,接口也好,继承也罢,包括上一篇介绍的方法重写,都
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号