ListFeatureClasses returns a list of strings, each string is a name (filename) of the FeatureClasses found in your workspace directory. Now KernelDensity returns a raster object that can be saved to disk with the methode save().
What i would now is name the Rasters to the feature class name extended by "_kd" like here:
import arcpy
from arcpy import env
from arcpy.sa import *
import os
env.workspace = r'C:\Users\lhark\Desktop\SHK\ArcGis_Proj_Canada\shapefiles'
outworkspace = r'C:\Users\lhark\Desktop\SHK\ArcGis_Proj_Canada\KernelDensity'
fcList = arcpy.ListFeatureClasses ()
for fc in fcList:
outKDens = KernelDensity(fc,"NONE",4670)
outKDens.save(outworkspace + "/" + os.path.splitext(fc)[0] + "_kd")
If you like to save your output to geotiff (can handle long filenames!), use this extension explicitly:
outKDens.save(outworkspace + "/" + os.path.splitext(fc)[0] + "_kd.tif")