Sachverhalt: A. Die IV-Stelle Luzern sprach dem im Juni 1954 geborenen A._ mit Verfügungen vom 12. Dezember 2012 und 4. Februar 2013 eine ganze Rente ab August 2009 resp. eine halbe Rente ab Juni 2012 zu (Invaliditätsgrad 100 resp. 50 %). Im August 2013 leitete sie ein Revisionsverfahren ein. Nach Abklärungen und Durchführung des Vorbescheidverfahrens hob sie die Rente mit Verfügung vom 11. Dezember 2014 auf Ende Januar 2015 auf mit der Begründung, dem Versicherten sei infolge Verbesserung seines Gesundheitszustandes die angestammte Tätigkeit wieder uneingeschränkt zumutbar. B. Die dagegen erhobene Beschwerde wies das Kantonsgericht Luzern mit Entscheid vom 8. Februar 2016 ab. C. A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des Entscheids vom 8. Februar 2016 sei ihm eine ganze Rente zuzusprechen; eventualiter sei die bisherige Rente zu bestätigen und die Sache zur weiteren Abklärung und Prüfung eines höheren als des bisherigen Anspruchs an die IV-Stelle zurückzuweisen. A._ hat Gelegenheit erhalten, sich zur Zulässigkeit einer Rentenaufhebung mit substituierter Begründung zu äussern, und lässt eine weitere Eingaben einreichen.