Expression denotes a `type', where a `variable', `value' or `method group' was expected

This makes no sense.

(First time using Unity 5)

Here’s my code of Player.cs:
using UnityEngine;
using System.Collections;

public class Player : Entity {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKey (KeyCode.W) || Input.GetKey (KeyCode.UpArrow)) {
			GetComponent(Rigidbody2D).transform.position += Vector3.up * speed * Time.deltaTime;
		}
		if (Input.GetKey (KeyCode.A) || Input.GetKey (KeyCode.LeftArrow)) {
			GetComponent(Rigidbody2D).transform.position += Vector3.left * speed * Time.deltaTime;
		}
		if (Input.GetKey (KeyCode.S) || Input.GetKey (KeyCode.DownArrow)) {
			GetComponent(Rigidbody2D).transform.position += Vector3.down * speed * Time.deltaTime;
		}
		if (Input.GetKey (KeyCode.D) || Input.GetKey (KeyCode.RightArrow)) {
			GetComponent(Rigidbody2D).transform.position += Vector3.right * speed * Time.deltaTime;
		}
	}
}

please help.

Why do you get the rigidbody component of the current gameobject when you can access the transform of the current gameobject directly?
Try something like this:

transform.position += Vector3.up * speed * Time.deltaTime;

GetComponent method takes a type as a parameter. To express a type in C# you must use the “typeof” keyword. Here is the correct format:

GetComponent (typeof(Rigidbody2D));

I assume the error describes the line number(s) which would be helpful, but one thing I see is that you are calling GetComponent(Rigidbody2D) instead of GetComponent().