设为首页 加入收藏

TOP

JAVA学习.抽象类
2014-11-24 07:53:45 】 浏览:6953
Tags:JAVA 学习 抽象

内存图:

\

示例代码:

package ljy.abcstraccalss;

//一个拥有一个或者多个抽象方法的类,必须显示的用abstract
//来修饰自我,该类为抽象类(也叫被动抽象类)。
public abstract class A {
	
	//抽象类是一个残缺的类,但其仍然拥有构造方法。
	void method1(){
		
		System.out.println("method1 is invoked~");
		
	}
	
	void method2(){}
	//存在一个方法,这样的实现为空实现,也算实现。
	
	abstract void method3();
	//只有方法签名,没有方法体,该方法未实现,必须声明为抽象方法。

}

package ljy.abcstraccalss;

//子类继承抽象父类,子类必须实现父类的抽象方法
//子类才可以脱掉abstract的帽子,子类如果没有实
//现,父类的抽象方法,那么子类即使自身拥有大量
//的额外方法资产,也不能被实例化,因为其体内有
//方法未实现,只能继续用abstract来修饰。
public class B extends A {

	void method3() {
		System.out.println("Class B method3 is invoked~");

	}

}

package ljy.abcstraccalss;

public class Tester {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//A  a= new A();
		//抽象类无法被实例化
		B  b = new B();
		b.method3();
		A a =b;
		a.method3();

	}

}

====================================

Result:

Class B method3 is invoked~
Class B method3 is invoked~

====================================


package ljy.abcstraccalss;


//主动抽象类 
//一个类的所有方法都实现了,是可实例化类
//其故意主动地声明自己是抽象类。
//一个类的作者不让使用者去创建这个类的实
//例,其故意申明此类为抽象类。该类的作者
//认为这个类是一个抽象类的概念,没有创建
//实例的意义,该类需要被继承,让后创建子
//类的实例才有意义。
//任何一个类,无论是否有抽象方法,都可以
//用abstract来修饰。(除了final类)
public abstract class Animal {
	
	private String name;
	private Integer age;
	
	void sound(){}
	void run(){}

}
原创出处:http://blog.csdn.net/u012830807

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java学习之路---java学习的方法和.. 下一篇hibernate 优化

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目