java1234开源博客系统
博客信息

Java面向对象-抽象类

发布时间:『 2016-10-08 19:48』  博客类别:Java核心基础  阅读(7154) 评论(0)

Java面向对象-抽象类


定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;

注意点:

1,包含一个抽象方法的类是抽象类;

2,抽象类和抽象方法都要用abstract关键字修饰;

3,抽象方法只需要声明而不需要实现;

4,抽象类必须被子类(假如不是抽象类)必须重写抽象中的全部抽象方法;

5,抽象类不能被实例化;


我们先来定义一个抽象类:

package com.java1234.chap03.sec11;

/**
 * 定义一个抽象类People
 * @author user
 *
 */
public abstract class People {

	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void say(){
		System.out.println("我的姓名是:"+this.getName());
	}
	
	/**
	 * 定义一个抽象方法 职业 让子类去具体实现
	 */
	public abstract void profession();
	
}

抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;


我们搞一个测试类:

我么尝试下实例化下People类:

QQ鎴浘20161008194222.jpg


我们会看到 编译出错,不能实例化People类;


我们定义一个Student类,以及一个Teacher类:

package com.java1234.chap03.sec11;

public class Student extends People{

	@Override
	public void profession() {
		System.out.println("职业是:学生");
	}

}
package com.java1234.chap03.sec11;

public class Teacher extends People{

	@Override
	public void profession() {
		System.out.println("职业是:老师");
	}

}


我们搞一个测试类:

package com.java1234.chap03.sec11;

public class Test {

	public static void main(String[] args) {
		
		Student student=new Student();
		student.profession();
		
		Teacher teacher=new Teacher();
		teacher.profession();
		
	}
}


运行输出:

职业是:学生

职业是:老师




关键字:   java     抽象类  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有