Using a FlxTypedGroup will allow you to specify the class that will be contained in the group (FlxGroup is an alias for FlxTypedGroup<FlxBasic>).

This can be very useful when passing group-members to functions without having to cast them.

// create a FlxTypedGroup called group, specifying that is contains Sprite objects, and has a maximum of 10
var group = new FlxTypedGroup<Sprite>(10);

Demonstration

package;

import flixel.FlxG;
import flixel.FlxState;
import flixel.group.FlxGroup.FlxTypedGroup;

class PlayState extends FlxState
{
	override public function create()
	{
		bgColor = 0;

super.create();

		var group = new FlxTypedGroup<Sprite>(10);
		add(group);

		for (i in 0...group.maxSize)
		{
			group.add(new Sprite());
		}
	}
}

package;

import flixel.FlxG;
import flixel.FlxSprite;
import flixel.system.FlxAssets.FlxGraphicAsset;

class Sprite extends FlxSprite
{
	public function new()
	{
		super("assets/sprite.png");
		setPosition(FlxG.random.int(0, Std.int(FlxG.width - width)),
			FlxG.random.int(0, Std.int(FlxG.height - height)));
		velocity.set(FlxG.random.int(50, 200) * FlxG.random.sign(),
			FlxG.random.int(50, 200) * FlxG.random.sign());
	}

	override public function update(elapsed:Float)
	{
		if ((velocity.x > 0 && x + width >= FlxG.width) || (velocity.x < 0 && x <= 0))
			velocity.x *= -1;
		if ((velocity.y > 0 && y + height >= FlxG.height) || (velocity.y < 0 && y <= 0))
			velocity.y *= -1;

		super.update(elapsed);
	}
}